我知道一个声明,我可以发布以找出我正在寻找的列的表:
SELECT DISTINCT(table_name)
FROM all_tab_cols
WHERE column_name = 'EMP_ID';
但是,我应该如何修改此设置,以便找到既有EMP_ID
又有EMP_NAME
的表?
答案 0 :(得分:11)
使用:
SELECT table_name
FROM all_tab_cols
WHERE column_name IN ('EMP_ID', 'EMP_NAME')
GROUP BY table_name
HAVING COUNT(DISTINCT column_name) = 2
计数比较必须等于IN
子句中定义的参数数量。
...但是这是一种更安全的方法来确定表格,以防它们是重复的:
SELECT table_name
FROM all_tab_cols
WHERE column_name IN ('EMP_ID', 'EMP_NAME')
GROUP BY table_name, owner
HAVING COUNT(column_name) = 2