2016-09-27 6 views
-3

私たちは、プライマリテーブルとセカンダリテーブルを比較する必要があります。クエリは結果を返し、第1テーブルのデータが第2テーブルの行ごとに存在するかどうかをユーザーに知らせる追加の列「STATUS」を含みます。 私は必要な結果を得る方法を理解することができません。実行時に新しい列を作成するSQLクエリ

+0

ようこそ。ここであなたは[質問]に何かを見つけ、あなたの質問を改善するのに役立つ[mcve]をどのように構築するのですか? – Aleksej

答えて

2

2つのテーブルの構造を表示できませんでした。そのため、2つのテーブルの間に(少なくとも)1つの共通の列があり、それらのテーブルに参加することができます。

select t1.*, t2.*, 
     case 
     when t1.id is null then 'not present in TABLE_1' 
     when t2.id is null then 'not present in TABLE_2' 
     else 'present in both tables' 
     end as status 
from table_1 t1 
    full outer join table_2 t2 on t1.some_id = t2.some_id 

some_idの代わりに実際の列名を使用する必要があります。これはまた、列some_idが2つのテーブルのいずれかにNULLの値を含まないことを前提としています。

+0

@MaheswaranRavisankar:ありがとうございます(私は常にOracleにその制限があることを忘れています) –

関連する問題