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

mysql:11130

From: "ryoozy" <"ryoozy" <ryoozy@xxxxxxxxxx>>
Date: Mon, 7 Mar 2005 02:19:23 +0900
Subject: [mysql 11130] GROUP BY の使い方で

MySQL+phpで在庫管理をやろうとしてます、平野ともうします。

[article]
+---+------+
|id | name1|
+---+------+
|  1| aaaa |
|  2| bbbb |
|  3| cccc |
|  4| dddd |
+---+------+

[stock]
+---+-----------+-------+
|id | article_id| number|
+---+-----------+-------+
|  1|          1|    100|
|  2|          2|    200|
|  3|          4|    200|
|  4|          4|    100|
+---+-----------+-------+

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句を書けばよいのでしょうか。
理由は異なるWHEREで得た2つの配列どうしを直接計算したいからです、
よろしくお願いします。
#ML初参加です、不備があればご指摘ください。


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

->   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]