|
分類:[VB.NET]
Oracle10gということですから、WHERE句で結合するのではなく、JOINで結合しましょう。これの利点は、結合条件と抽出条件を分離できるところです。元のSQL文を書き直すと、次のようになります。
SELECT a.code, a.name, SUM(b.kin), SUM(b2.kin2) FROM a INNER JOIN b INNER JOIN b2 ON b.code2 = b2.code2 ON a.code = b.code GROUP BY a.code, a.name ORDER BY a.code
しかしこれ、データの主体はB表ですから、B表から取得するようにすると、わかりやすくなりますね。
SELECT a.code, a.name, SUM(b.kin), SUM(b2.kin2) FROM b INNER JOIN a ON a.code = b.code INNER JOIN b2 ON b2.code2 = b.code2 GROUP BY a.code, a.name ORDER BY a.code
> なぜ、教えてGooで断わりも無く、マルチポストをするのですか。 マルチ"サイト"ポストの悪評を高くするため。
gooで回答がついたからといってこちらをうっちゃっていると、こちらでは誰も回答してくれなくなりますよ > 元質問者
|