次の結果が得られる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