mysql:11131
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Mon, 7 Mar 2005 07:54:07 +0900
Subject: [mysql 11131] Re: GROUP BY の使い方で
とみたです。 On Mon, 7 Mar 2005 02:19:23 +0900 "ryoozy" <ryoozy@xxxxxxxxxx> wrote: > SELECT `article_id`,article.name1,sum(`number`) as sum1 > FROM `stock` LEFT OUTER JOIN `article` ON (stock.article_id = article.id) > GROUP BY `article_id` > を実行すると > +-----------+-------+-----+ > |article_id | name1 | sum1| > +-----------+-------+-----+ > | 1 | aaaa | 100 | > +-----------+-------+-----+ > | 2 | bbbb | 200 | > +-----------+-------+-----+ > | 4 | dddd | 300 | > +-----------+-------+-----+ > な出力を得ました、これを > +-----------+-------+-----+ > |article_id | name1 | sum1| > +-----------+-------+-----+ > | 1 | aaaa | 100 | > +-----------+-------+-----+ > | 2 | bbbb | 200 | > +-----------+-------+-----+ > | 3 | cccc | 0 |←※全てのarticle.idがほしい > +-----------+-------+-----+ > | 4 | dddd | 300 | > +-----------+-------+-----+ > こんな結果が欲しいのですがどのようなSQL句を書けばよいのでしょうか。 left join は左に書いたテーブルのレコード全てを出力する指定なので、 article テーブルを左に書けばいいんじゃないでしょうか。 select article.id,name1,sum(number) as sum1 from article left outer join stock on article.id=stock.article_id group by article.id; -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
11130 2005-03-07 02:19 ["ryoozy" <ryoozy@xxx] GROUP BY の使い方で -> 11131 2005-03-07 07:54 ┗[とみたまさひろ <tomm] 11133 2005-03-07 09:39 ┗["ryoozy" <ryoozy@xxx] 11134 2005-03-08 01:20 ┗["ryoozy" <ryoozy@xxx] 11137 2005-03-08 06:27 ┗[とみたまさひろ <tomm]