以下是我的两张表:
[items]
- id - model - location_id -
1 mA 23
2 mA 23
3 mA 23
4 mB 24
5 mB 24
6 mC 25
7 mC 26
[locations]
- id - name -
23 aisle-3
24 aisle-4
25 aisle-5
26 aisle-6
我正在尝试查询locations
表中的位置名称,并返回该位置的项目计数。这是我试图无济于事的事情:
SELECT name, COUNT(item.id)
FROM locations
INNER JOIN items AS item ON (item.location_id = locations.id)
任何人都可以帮我吗?
答案 0 :(得分:1)
您忘了GROUP BY
:
SELECT l.*, COUNT(item.id)
FROM locations l
INNER JOIN items AS i
ON i.location_id = l.id
GROUP BY l.id
如果您希望获得COUNT()
即使没有分配到该位置的项目,也应该LEFT JOIN
而不是INNER JOIN
。