从列名称确定表名称

时间:2014-07-25 16:56:02

标签: sql-server

如果我知道列名,我该如何确定哪些表具有这些列名?在我的数据库中,我有很多表,但我不确定哪些表包含这些列名。打开数据库中的所有表实际上是不可能的?请帮忙。      我知道一些表的关键列值,但我不知道确切地定义了与我的id相对应的那些值。例如。我知道地址密钥,货运密钥等,但不知道在哪个表格中我会找到这些的价值。 ?  如果我有地址键1,我应该能够找到对应的地址1.在sql server中是否可以找到这个?

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作

 select TABLE_NAME,COLUMN_NAME 
 from INFORMATION_SCHEMA.COLUMNS
 where COLUMN_NAME = 'YourColumnNameHere'

这将返回使用列的所有表(和视图)。

答案 1 :(得分:0)

查找具有特定列名称的表格相对简单:

SELECT t.name FROM sys.columns c 
JOIN sys.tables t ON c.object_id = t.object_id 
WHERE c.name = 'NAME'
ORDER BY t.name

但是,这不会确定哪个表具有哪个ID值。您必须单独查询返回的表。