Я пытаюсь перечислить варианты продуктов с заказанными количествами, НО ТАКЖЕ показать варианты продуктов, в которых нет заказанного количества. Поэтому я подумал, что это будет так же просто, как выбор продуктов и выполнение левого соединения по порядку каждого продукта, где заказ является текущей версией.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
Отлично, отлично работает! ! Именно то, что нужно. Спасибо! – scott
Нет проблем. Вы были на правильном пути; просто нужен дополнительный шаг – kaj