Здравствуйте!
Подскажите, пожалуйста, как это можно сделать:
Есть запрос
SELECT Count(sales.id), sale_group.code AS group
FROM sales
INNER JOIN sale_group
ON sales.group_id = sale_group.id
GROUP BY sale_group.code
, который подсчитывает количество заказов для каждой группы. Каким образом можно сделать так, чтобы в результате выводились еще и группы, для которых нет заказов?
UPD:
Лентюй, cпасибо большое за ответ и за инфографику. Только у меня там еще условие было для фильтрации заказов, не думал, что оно повлияет на результат, не написал его, ошибся. Вместе с ним не работает.
Полный запрос выглядит так:
SELECT Count(sales.id), sale_group.code AS group
FROM sales
INNER JOIN sale_group
ON sales.group_id = sale_group.id
WHERE sales.path
LIKE '43/44/45/%' AND sales.id != 45
GROUP BY sale_group.code
После вашего ответа попробовал сделать таким образом:
SELECT Count(id FROM sales WHERE path
LIKE '43/44/45/%' AND id != 45), sale_group.code AS group
FROM sales
RIGHT JOIN sale_group
ON sales.group_id = sale_group.id
GROUP BY sale_group.code
Но считает неправильно. Прошу прощения, что сразу написал не всю информацию, это по незнанию. Подскажите, пожалуйста, как сделать теперь правильно?