次の結果が得られるSQLを書きたいと思います。これは可能ですか?UNION で試してみましたが、1 つのレコードでしか機能しません。
列1 | col2 | col3 | col4 --------------------------- あ | 10 | | | | | 2 | val1 | val2 | | 5 | val3 | val4 | | 3 | val5 | val6 ビ | 11 | | | | | 3 | val7 | val8 | | 5 | val9 | val10 | | 3 | val0 | val12
ここで私のクエリ:
SELECT a.val1, NULL val2, a.val3 FROM table1 a
WHERE a.val1 = 'A'
UNION
SELECT NULL val1, b.val2, b.val3 FROM table2 b
WHERE b.val1 = 'A' ;
多分これは質問をより明確にするでしょう。
クエリを実行すると想像してください:
SELECT a.val1, NULL val2, a.val3 FROM table1 a
UNION
SELECT NULL val1, b.val2, b.val3 FROM table2 b ;
結果セットを上の図のようにしたい。
列1 | col2 | col3 | col4 --------------------------- あ | 10 | | | | | 2 | val1 | val2 | | 5 | val3 | val4 | | 3 | val5 | val6 ビ | 11 | | | | | 3 | val7 | val8 | | 5 | val9 | val10 | | 3 | val0 | val12