Здравствуйте.
Есть две таблицы
groupsid | id_parent | nameproductsid | id_group | name
Задача - написать запрос, который вернет все группы с количеством товара в этой группе.
Например,
groups.id | groups.id_parent | name | product_count1 | 0 | dvd-плеер | 10
Доп. условия:
1) Если в группе нет товаров, то группа также должна быть включена в результирующую выборку с количеством товара, равным нулю.
2) Все группы, вне зависимости от положения в иерархии, могут иметь свои товары. Вернуть нужно именно то количество, которое соответствует конкретной группе, но не подгруппам данной группы.
Как я пробовал делать:
SELECT g.id id, g.id_parent id_parent, g.name as 'name', count( p.id_group ) product_count
FROM groups g LEFT JOIN products p ON g.id = p.id_group
GROUP BY p.id_group
Однако, данный запрос работает не корректно. Почему - пока не разобрался.
Прошу уважаемое сообщество помочь разобраться с данным запросом.