Sql 查找包含两个已知列名的表名称
我想在一个表中找到同时包含这两列的表。我试过这个:Sql 查找包含两个已知列名的表名称,sql,sql-server,Sql,Sql Server,我想在一个表中找到同时包含这两列的表。我试过这个: SELECT COLUMN_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME in ('CurrencyName', 'CurrencyKey'); 此查询生成包含CurrencyName或CurrencyKey列之一的所有表 但是我想要一个同时包含这两列的表 请提出一些想法 谢谢 你很接近。您希望使用groupby,然后使用having子句验证是否有两个
SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME in ('CurrencyName', 'CurrencyKey');
此查询生成包含CurrencyName
或CurrencyKey
列之一的所有表
但是我想要一个同时包含这两列的表
请提出一些想法
谢谢 你很接近。您希望使用
groupby
,然后使用having
子句验证是否有两个匹配项:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME in ('CurrencyName', 'CurrencyKey')
GROUP BY TABLE_NAME
HAVING COUNT(*) = 2;
注意:为了确保您有正确的表,您应该在查询中也使用table\u SCHEMA