- ベストアンサー
テーブルのOR外部結合2
テーブル内容 TBL1 T1_ID T1_NM 100 T1_1 101 T1_2 102 T1_3 103 T1_4 ---------- TBL2 T1_ID T2_ID T2_NM 100 100 T2_1 101 101 T2_2 101 102 T2_3 102 103 T2_4 ---------- TBL3 T3_ID T3_TYPE T3_NM 100 T1 T3_1 100 T2 T3_2 101 T1 T3_3 101 T2 T3_4 102 T1 T3_5 102 T2 T3_6 ---------- 要求出力結果 T1_NM T2_NM T3_NM T1_1 T3_1 T1_1 T2_1 T3_2 T1_2 T3_3 T1_2 T2_2 T3_4 T1_2 T2_3 T3_5 T1_3 T3_6 T1_3 T2_4 T1_4 以上のデータ内容で要求出力結果を得たいです。 各テーブルの結合条件としては (T1.T1_ID = T2.T2_ID)(+) AND ( (T1.T1_ID = (T3.T3_ID AND (T3.T3_TYPE = 'T1')(+)) OR (T2.T2_ID = (T3.T3_ID AND (T3.T3_TYPE = 'T2')(+)) ) となります。 もちろんこのままだと外部結合の中にORがあるのでエラーとなります。 UNIONを使用せずに実現できますでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは バージョンは何ですか? 10g以降だったらMODELでいけるかも・・・。 どれを駆動表に指定しても、最終的なOUTPUTと行数が違うので、普通の外部結合では無理ですね。
その他の回答 (1)
- nora1962
- ベストアンサー率60% (431/717)
多分無理だと思います。 後、気になったのですが、結合条件として提示されているものが、どう 要求出力結果につながるか不明です。 UNIONを使って抽出しているSQLを提示してみてください。