У меня есть две таблицы в моей БД - продукты & заказы. Заказ может быть только одного вида продукта.sql - проблема с агрегацией
Вот основная идея:
То, что я пытаюсь сделать, это запрос, который дан copmany_id возвращает все продукты (от этой компании), которые имеют менее 10 заказов (в том числе 0)
мой запрос выглядит следующим образом:
SELECT p.*
FROM product p,
order o
WHERE p.company_id =?
AND o.product_id = p.id
GROUP BY p.id
HAVING Count(o.id) < 10
ORDER BY p.id DESC
запрос отлично работает для продуктов, которые имеют 0 < ORDE rs, но не возвращает числа с 0 порядками. Что мне нужно сделать, чтобы вернуть их?
есть ли способ избежать объединения в этом случае? – levtatarov
вы должны использовать join .. то, что вы использовали в своем запросе, также является объединением, но это внутреннее соединение –