mysql:14835
From: 柴垣 <柴垣 <akiro@xxxxxxxxxx>>
Date: Fri, 08 May 2009 00:42:35 +0900
Subject: [mysql 14835] Re: テーブルごとの合計を求めるには
渡辺さん、平塚さん、ありがとうございました。 渡辺さんのコード、(allだけこちらで追加) > select m.name, sum(m.uri), sum(m.nyu) > from > ( > (select name, kingaku as uri, 0 as nyu from u) > union all > (select name, 0 as uri, kingaku as nyu from n) > ) m > group by m.name そして平塚さんのコード、 > select T.name, UG.UriageGokei, NG.NyukinGokei > from > T > left outer join > (select name, sum(kingaku) UriageGokei from U group by name) UG > on T.name = UG.name > left outer join > (select name, sum(kingaku) NyukinGokei from N group by name) NG > on T.name = NG.name ともに、求めたい結果セットが得られました。 渡辺さんが、以下のように書かれていましたが、 > なんでSQLでやらなければいけないか、疑問ですが・・・ > 普通は別々に習得してプログラムでマージするなりする方が単純 > で解りやすく、バグも少ないしし、仕様変更にも強いと思いますよ。 確かにその通りだと思います。今回は既存のプログラムの修正だったため sqlの書換えだけでなんとかならないかと思ったのですが、上記のSQLの ようにサブクエリーが必要となることを考えると、かえって複雑になって しまう気がします。どうもありがとうございました。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 柴垣 akiro@xxxxxxxxxx _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
14831 2009-05-07 11:35 [柴垣 <akiro@xxxxxxxx] テーブルごとの合計を求めるには 14832 2009-05-07 11:50 ┣[Shuji Watanabe <shuj] 14833 2009-05-07 12:21 ┗[HIRATSUKA Sadao <hir] -> 14835 2009-05-08 00:42 ┗[柴垣 <akiro@xxxxxxxx] 14836 2009-05-08 02:00 ┗[ユウシステム 糸瀬 <i] 14837 2009-05-08 09:42 ┗[柴垣 <akiro@xxxxxxxx] 14838 2009-05-08 10:00 ┗[Shuji Watanabe <shuj] 14839 2009-05-08 10:59 ┗[ユウシステム 糸瀬 <i]