【发布时间】:2014-07-12 03:07:19
【问题描述】:
有人可以帮助我如何为此进行有效的 mysql 查询吗?
我需要查询所有订购商品的总数量。
结合。
我需要查询所有收到的物品的总数量。
请注意,在我的“received_po_details”表中,有些产品在收到时有序列号,而有些则没有。这就是我遇到问题的地方,因为收到的总和由于序列号而增加了一倍。
表:received_po_details
i_rpoh_id i_p_id i_quantity_received s_product_serial
1 1 100
1 2 100
1 3 50
1 4 25
1 7 100
1 8 50
1 6 1 XYZ1
1 6 1 XYZ2
1 5 1 ABC1
1 5 1 ABC2
现在我有这两个需要组合的单独的 sql。 如果可能,我不想为此使用 Union 语句...
--获取订购的总数量
SELECT
products.i_id AS 'ID',
products.s_name AS 'Name',
COALESCE(SUM(purchase_order_details.i_quantity_ordered),0) AS 'Total Quantity Ordered'
FROM
products
LEFT JOIN
purchase_order_details
ON
products.i_id = purchase_order_details.i_p_id
GROUP BY
products.i_id
-- to get the Total Quantity Received
SELECT
products.i_id AS 'ID',
products.s_name AS 'Name',
COALESCE(SUM(received_po_details.i_quantity_received),0) AS 'Total Quantity Received'
FROM
products
LEFT JOIN
received_po_details
ON
products.i_id = received_po_details.i_p_id
GROUP BY
products.i_id
【问题讨论】: