2015-01-31 65 views
0

我有2个表格。一个是“收货”表。另一个是“product_use_for”表。2表数据总和并按产品名称显示订单

我需要sum(goods_receive.quantity)和sum(product_use_for.quentity) 并按产品名称显示顺序。

其实我是新的php.I混淆这个问题。如果有人帮助我,我会很开心。请。

请参阅此图像>>

enter image description here

+0

$ SQL = “SELECT goods_receive.p_name,总和(goods_receive.quantity)作为QUA,总和(product_use_for.quantity)作为use_qua FROM goods_receive,product_use_for BY goods_receive.p_name GROUP”; – 2015-01-31 22:08:34

回答

0

您需要使用LEFT JOIN,这样你会得到行的结果,即使有在product_use_for表中没有匹配。而且你需要在子查询中完成其中一个和数,否则你将把总和乘以另一个表中的行数。

SELECT gr.p_name AS product_name, SUM(gr.quantity) AS stock_quantity, IFNULL(puf.quantity, 0) AS use_quantity 
FROM goods_receive AS gr 
LEFT JOIN (SELECT p_name, SUM(quantity) AS quantity 
      FROM product_use_for 
      GROUP BY p_name) AS puf 
ON gr.p_name = puf.p_name 
GROUP BY gr.p_name 

DEMO

+0

很多感谢兄弟..问题解决。 – 2015-01-31 22:25:47

相关问题