SQL 查询:计算销售和退货商品数量差值
假设销售表的表名为'sales',退货表的表名为'returns',商品的数量字段名为'quantity'。
以下是计算每一个商品的数量差值的SQL语句:
SELECT s.product_id, SUM(s.quantity) - IFNULL(r.quantity, 0) AS quantity_diff
FROM sales s
LEFT JOIN (
SELECT product_id, SUM(quantity) AS quantity
FROM returns
GROUP BY product_id
) r ON s.product_id = r.product_id
GROUP BY s.product_id;
这条SQL语句使用了左连接(LEFT JOIN)将销售表和退货表进行关联,然后计算每一个商品的销售数量减去退货数量的差值。使用了IFNULL函数来处理退货表中对应商品的数量为空的情况,将其作为0处理。最后按照商品ID进行分组,得到每一个商品的数量差值。
原文地址: https://www.cveoy.top/t/topic/yGN 著作权归作者所有。请勿转载和采集!