こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テーブルの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を使用せずに実現できますでしょうか?

投稿日時 - 2008-05-22 15:08:18

QNo.4041624

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちは

バージョンは何ですか?
10g以降だったらMODELでいけるかも・・・。
どれを駆動表に指定しても、最終的なOUTPUTと行数が違うので、普通の外部結合では無理ですね。

投稿日時 - 2008-07-12 14:46:54

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

多分無理だと思います。
後、気になったのですが、結合条件として提示されているものが、どう
要求出力結果につながるか不明です。
UNIONを使って抽出しているSQLを提示してみてください。

投稿日時 - 2008-05-27 07:34:59