我的服务器上有一个数据库我想从使用该列的整个数据库中过滤一个列名。
例如:如果列名是“AlternativeID”存在于5个表中,而不是我希望查找该列名的查询存在于哪些表中。?
我找到以下查询以从数据库中查找特定的列名。
SELECT * FROM sys.columns WHERE name LIKE '%AlternativeID%'
我希望这对每个人都有意义。任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
试试这个:
SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%AlternativeID%'
... OR
SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%AlternativeID%'
来源:Find all tables containing column with specified name
希望这会有所帮助......
答案 1 :(得分:0)
尝试:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('AlternativeID')
AND TABLE_SCHEMA='YourDatabaseName';