我想在一个表中找到包含两列的表。我试过这个:
SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME in ('CurrencyName', 'CurrencyKey');
此查询会生成包含CurrencyName
或CurrencyKey
列之一的所有表。
但我希望将这两个列放在一起的表格。
请拍一些想法。
谢谢!
答案 0 :(得分:1)
你很亲密。您想使用group by
,然后使用having
子句验证您有两个匹配项:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME in ('CurrencyName', 'CurrencyKey')
GROUP BY TABLE_NAME
HAVING COUNT(*) = 2;
注意:为了确保您拥有正确的表格,您应该在查询中使用TABLE_SCHEMA
。