【发布时间】:2012-03-15 09:14:40
【问题描述】:
我正在尝试列出订购数量的产品变体,但还要显示没有订购数量的产品变体。所以我认为这就像选择产品并对每个产品的订单进行左连接一样简单,其中订单是当前版本。
所以我期望像这样的操作顺序:
SELECT p.product_id, SUM(po.quantity)
FROM `products` p
LEFT JOIN `product_orders` po ON p.product_id=po.product_id
LEFT JOIN `orders` o ON o.order_id=po.order_id AND o.is_current='1'
但这也得到了 is_current 不是 1 的数量 然后我想,好吧,我可以在左连接之后做一个内连接,而不是像这样:
SELECT p.product_id, SUM(po.quantity)
FROM `products` p
LEFT JOIN `product_orders` po ON p.product_id=po.product_id
INNER JOIN `orders` o ON o.order_id=po.order_id AND o.is_current='1'
但是尚未列出尚未订购的产品。我希望它们显示为 SUM(quantity) 为 NULL。 谁能看到我的逻辑哪里出错了? 谢谢! 斯科特
【问题讨论】:
标签: mysql