2table数据总和并按产品名称显示顺序

时间:2015-01-31 22:07:06

标签: php mysql

我有2张桌子。一个是"货物接收"表。另一个是" product_use_for"表

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

其实我是php的新手。我对此问题感到困惑。如果有人帮助我,我会很高兴。请。

请参阅此图片>>

enter image description here

1 个答案:

答案 0 :(得分: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