我有两个表,位置和库存
地点:
locationID | locationName |
----------------------------
1 | place1
2 | place2
3 | place3
库存
locationID | itemID | total
-------------------------------
1 | a | 6
1 | b | 2
2 | a | 1
然后,我有这样的查询:
Select locationID, sum(total) as totalItemCount FROM Locations, inventory GROUPBY locationID
这将返回如下结果:
locationID | totalItemCount
-------------------------
1 | 8
2 | 1
我想看到的结果将具有零或null的locationID 3。我只需要它出现。
最佳答案
嗯,您需要一个LEFT JOIN
,然后像下面这样,而不是INNER JOIN
。另外,请注意,我已经修改了查询并使用了ANSI样式显式连接语法,这比您当前使用的旧样式语法要好得多。
Select l.locationID,
sum(i.total) as totalItemCount
FROM Locations l
LEFT JOIN inventory i ON l.locationID = i.locationID
GROUP BY l.locationID;
关于mysql - 合并两个mySQL表sum()不会返回零或null的条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32514115/