[前][次][番号順一覧][スレッド一覧]

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]