我試圖列出產品變體及其訂購數量,但也顯示沒有訂購數量的產品變體。所以我認爲這將會像選擇產品一樣簡單,並對訂單是當前版本的每個產品的訂單進行左連接。Mysql左/內部連接組合不能按預期方式工作
所以我預計這樣的操作順序:
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(數量)爲NULL。 任何人都可以看到我的邏輯出錯了嗎? 謝謝! 斯科特
是有道理的,我會嘗試它...一秒 – scott 2012-03-15 09:35:58
完美,偉大的工程! !確切需要什麼。非常感謝! – scott 2012-03-15 09:52:15
沒問題。你在正確的軌道上;只需要一個額外的步驟 – kaj 2012-03-15 10:09:40