【问题标题】:How can I use two information tables in SQL如何在 SQL 中使用两个信息表
【发布时间】:2025-11-29 20:40:01
【问题描述】:

我需要从我的 SQL Server 中的表中获取几个值。我有以下 SQL 语句,但它不断给出错误我该如何解决这个问题?

select TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
from INFORMATION_SCHEMA.COLUMNS,
     INFORMATION_SCHEMA.KEY_COLUMN_USAGE

【问题讨论】:

  • 请发布您遇到的错误。
  • @MarkRotteveel 阅读答案
  • 这不是重点。您需要包含错误,以便人们真正知道问题是什么(而不是用不完整的信息猜测),这样它可能会帮助未来有相同错误的访问者。
  • 你需要一个加入条件。

标签: sql sql-server-2008 information-schema


【解决方案1】:

您必须使用别名,因为两个表都包含列名(表名和列名)。

SELECT A.TABLE_NAME,
       A.COLUMN_NAME,
       CONSTRAINT_NAME
FROM   INFORMATION_SCHEMA.COLUMNS A,
       INFORMATION_SCHEMA.KEY_COLUMN_USAGE B 

【讨论】:

  • 谢谢 ;) 我需要等待 12 分钟才能接受您的回答
  • A 和 B 作为表别名?我会在这里选择 C ​​和 KCU。