0

2つの特定の列を持つOracleデータベースのテーブルのリストを取得する方法はありますか?

select table_name from all_tab_columns where column_name in ('CLOUMNNAME1','CLOUMNNAME2');

いずれかまたは両方を持つすべてのテーブルが表示されます。しかし、両方の列を持つものが必要です。

4

1 に答える 1

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_name を共有する異なるスキーマからのテーブルを避けるために、「table_owner」を追加しました

于 2015-12-10T13:07:34.727 に答える