Таблица items
отслеживает различные типы предметов, которые можно хранить на складе.
item_type item_name last_stock
1 cake 2010-08-10
2 fruit 2010-08-07
3 soda 2010-08-07
4 water 2010-08-09
Таблица individual_items
отслеживает каждый конкретный элемент.
id item_type
1 1
2 2
3 1
Myзапрос в MySQL:
SELECT i.item_type, i.item_name, COUNT(j.id)
FROM items i
LEFT OUTER JOIN individual_items j
ON i.item_type = j.item_type
GROUP BY j.item_type
Однако, COUNT(j.id)
не соответствует моему результату.Кажется, он группирует любые элементы, которые определены, но на самом деле не существуют.
item_type item_name COUNT(j.id)
1 cake 2
2 fruit 1
3 soda 0
Я думаю, что ожидаемая четвертая строка 4 water 0
не появляется, потому что COUNT()
неправильно группирует несуществующие строкирезультат от LEFT OUTER JOIN
.Как я могу это исправить?