组合两个mySQL表sum()不会返回零或null的条目

时间:2015-09-11 01:30:05

标签: mysql

我有两个表,地点和广告资源

位置:

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。我只需要它出现。

1 个答案:

答案 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;