- ベストアンサー
どちらかにあるものを両方出すクエリ
お世話になります、 二つのテーブルA、Bは以下のようになっています 【テーブルA】 Month A --------- 6 10 7 20 8 30 【テーブルB】 Month B --------- 6 40 8 50 9 60 上記二つのテーブルを Month A B ------------------------ 6 10 40 7 20 8 30 50 9 60 出すようなクエリはどう書くのでしょうか? MonthがAテーブルに必ずあるなら select A.Month, A.A, B.Month, B.B where A.Month = B.Month(+) でいけると思うのですが、このような場合どのようにするのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
間違えました・・・ select A.Month, A.A, B.B where A.Month = B.Month(+) union select B.Month, A.A, B.B where A.Month(+) = B.Month です
その他の回答 (2)
- TMINET
- ベストアンサー率32% (45/140)
最近のOracleなら FULL OUTER JOIN が使えます。
お礼
そんなオプションは知りませんでした。 Oracle8.1.7でも使えるのでしょうか? ありがとうございます。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
unionを使って2つのクエリーの和集合をとります。 select A.Month, A.A, B.Month, B.B where A.Month = B.Month(+) union select A.Month, A.A, B.Month, B.B where A.Month(+) = B.Month
お礼
ありがとうございます、 ストライクの回答でした。 勉強させていただきました。