Tôi đang cố gắng liệt kê các biến thể sản phẩm với số lượng đặt hàng, NHƯNG C showNG hiển thị các biến thể sản phẩm mà không có số lượng đặt hàng. Vì vậy, tôi nghĩ rằng nó sẽ đơn giản như việc lựa chọn các sản phẩm và làm một trái tham gia vào các đơn đặt hàng của mỗi sản phẩm mà trật tự là một phiên bản hiện tại.Mysql left/inner join kết hợp không hoạt động như mong đợi
Vì vậy, tôi mong đợi như trật tự này hoạt động:
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'
nhưng điều đó cũng là nhận được số lượng nơi is_current không phải là 1 Sau đó, tôi nghĩ, được rồi, tôi chỉ có thể làm một bên tham gia sau bên trái tham gia thay thế như thế này:
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'
nhưng sau đó các sản phẩm chưa được đặt hàng chưa được liệt kê. Tôi mong đợi họ để hiển thị như SUM (số lượng) là NULL. Có ai có thể thấy logic của tôi đã đi sai không? Cảm ơn! Scott
có ý nghĩa, tôi sẽ thử ... một giây – scott
Hoàn hảo, hoạt động tuyệt vời! ! Chính xác những gì cần thiết. Cám ơn rất nhiều! – scott
Không sao cả. Bạn đã đi đúng hướng; chỉ cần thêm một bước – kaj