有没有办法在oracle数据库中获取具有两个特定列(一起,不是两者)的表列表。
select table_name from all_tab_columns where column_name in ('CLOUMNNAME1','CLOUMNNAME2');
它给了我所有表中有一个或两个的表。但我需要那些同时拥有两个专栏的人。
答案 0 :(得分:1)
只需查找返回2行的表:
SELECT table_owner, TABLE_NAME FROM ALL_TAB_COLUMNS where column_name in ('CLOUMNNAME1','CLOUMNNAME2')
GROUP BY table_owner, TABLE_NAME HAVING COUNT(*) = 2;
编辑:添加" table_owner"避免来自共享table_name的不同模式的表