Oracle[10g]のSQL文について(改めて)
すみません。[B]テーブルの作成がおかしい様でしたので、
改めて質問させて下さい。
Oracle[10g]のSQL文についての質問です。(No.???)
[A]テーブルに
[CODE](KEY) [CODE2] [NAME] のフィールドがあります。
A-1 B-1 NAME-1
A-2 B-2 NAME-2
A-3 B-3 NAME-3
[B]テーブルに
[CODE3](KEY) [NAMEB] のフィールドがあります。
B-1 NAME-B-1
B-2 NAME-B-2
[C1]テーブルに
[NO](KEY) [LINE](KEY) [CODE] のフィールドがあります。
X 1 A-1
X 2 A-3
Y 1 A-2
結果が
[NO/LINE/CODE/NAMEB]
X 1 A-1 NAME-B-1
X 2 A-3 (NULL)
と、なる様にしたいのです。
SELECT C1.NO, C1.LINE,C1.CODE, Tx.NAMEB
FROM C1 ,
(
SELECT C1.CODE, TNMx1.NAMEB
FROM C1,
(
SELECT CODE, CODE2,
CODE3, NAMEB
FROM A, B
WHERE A.CODE2 = B.CODE3
) TNMx1
WHERE C1.NO = 'X' AND C1.CODE = TNMx1.CODE(+)
) Tx
WHERE C1.NO = 'X'
GROUP BY
C1.NO, C1.LINE,C1.CODE, Tx.NAMEB
と、考えたのですが、何故か結果が
X 1 A-1 (NULL)
X 1 A-1 NAME-B-1
X 2 A-3 (NULL)
X 2 A-3 NAME-B-1
4行もでてしまいます。
問題は、[B]テーブルです。
宜しくお願い致します。