我有两个表,地点和广告资源
位置:
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
结果我希望看到locationID 3为零或null。我只需要它出现。
答案 0 :(得分:1)
嗯,你需要一个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;