从列名确定表名[重复]
Posted
技术标签:
【中文标题】从列名确定表名[重复]【英文标题】:Determing table name from Column names [duplicate] 【发布时间】:2014-09-17 14:28:51 【问题描述】:假设如果我知道列名,我如何确定哪些表具有这些列名?在我的数据库中,我有很多表,但我不确定哪些表包含这些列名。实际上不可能打开数据库中的所有表?请帮忙。 我知道某些表的键列值,但我不知道与我的 id 对应的那些值到底在哪里定义。例如。我知道地址键、装运键等,但不知道在哪个表中可以找到这些值。 ? 如果我有地址键 1,我应该能够找到对应于 1 的地址。在 sql server 中有没有办法找到这个?
【问题讨论】:
【参考方案1】:查找具有特定列名的表相对简单:
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 值。您必须单独查询返回的表。
【讨论】:
【参考方案2】:您可以执行以下操作
select TABLE_NAME,COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMN_NAME = 'YourColumnNameHere'
这将返回使用您的列的所有表(和视图)。
【讨论】:
以上是关于从列名确定表名[重复]的主要内容,如果未能解决你的问题,请参考以下文章