| 分類:[VB.NET]
分類:[VB.NET]
はじめまして。教えてGooで、何度かお世話になりました。 VB.NET & Oracle[10g]で、プログラミングをしております。 Gooでも質問をしたのですが、回答を頂けなく困っております。
Oracl[10g]の SQL文について、教えて下さい。
[A]テーブルに [CODE] と [NAME]フィールドがあるとします。 内容は、 A-1 NAME-1 A-2 NAME-2 A-3 NAME-3 と、します。
[B]テーブルに [CODE] と [NOUKI] と [KIN] と [CODE2] フィールドがあるとします。 内容は、 A-1 2005/01/01 100 AAA A-1 2005/01/02 200 AAA A-2 2005/01/01 300 AAA A-2 2005/01/10 400 DDD A-2 2005/12/10 500 EEE と、します。
[B2]テーブルに [CODE2] と [NO] と [KIN2] フィールドがあるとします。 内容は、 AAA 1 1000 AAA 2 2000 DDD 1 4000と、します。
結果が、 A-1 NAME-1 300[B]テーブルKINの合計 3000[B2]テーブルKIN2の合計 A-2 NAME-2 1200[B]テーブルKINの合計 4000[B2]テーブルKIN2の合計
と、なる様にする為には、どういうSQL文を書けば良いのでしょうか ? つまり、[CODE2]のフィールドを[B2]テーブルに反映させたいのです。
SELECT A.CODE,A.NAME,SUM(B.KIN),SUM(B2.KIN2) FROM A, B, B2 WHERE A.CODE=B.CODE AND B.CODE2=B2.CODE2 GROUP BY A.CODE,A.NAME ORDER BY A.CODE
と、すれば、何故か A-1 NAME-1 600 6000 A-2 NAME-2 1000 7000 と、言う結果がでます。
これは、1つのSQL文では無理なのでしょうか ? よろしくお願い致します。
|