- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3つの表の外部結合)
3つの表の外部結合
このQ&Aのポイント
- 3つの表を結合して、特定の条件で外部結合する方法について説明します。
- 表Aと表Bを特定の条件で結合し、その結果を表Cと外部結合することで、目的の結果を得ることができます。
- ただし、単純に3つの表を結合することはできないので、注意が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ちょっとリレーション勘違いしてました。 では、こんな感じで select 列C1, 列B3 from 表A, 表B, 表C where 列B1(+) = 列A2 and 列B2(+) = 'X' and 列A3(+) = 列C2 #今度はちゃんと確認しましたんで(^^;;
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
NAATANさんが質問に書いた条件を順番にwhere句に書いてみました。 select 列C1, 列B3 from 表A, 表B, 表C where 列A2 = 列B1 and 列B2 = 'X' and 列A3(+) = 列C2 です。
質問者
お礼
早速のご回答恐れ入ります。 教えていただいたSQLを実行したのですが、 やはり、列C2 = 'C02'の行が選択されません。 SELECT 列C1,表AB.列B3 FROM 表C ,(SELECT 列A3,列B3 FROM 表A,表B WHERE 列A2 = 列B1 AND 列B2 = 'X') 表AB WHERE 列C2 = 表AB.列A3(+) とすれば可能なのですが、表ABを別名で定義するのは パフォーマンスの都合上、出来れば避けたいのですが。
質問者
補足
申し訳ありません。 お礼の内容が間違っていました。 「列C2 = 'C02'の行が選択されません」ではなく、 「列C1 = 'C02'の行が選択されません」でした。
お礼
ありがとう御座います。 教えていただいた通りに実行してみたら 正常に処理されました。 この調子で4つ以上の表にもチャレンジしてみたいと思います。