use*_*378 0 mysql sql select report
我正在按城镇创建报告.
SELECT S.city, count(*) as NumOfOrders
FROM Shop as S
LEFT JOIN orders O ON O.ShopID = S.ShopID
WHERE O.status = 4
Group by S.city
Run Code Online (Sandbox Code Playgroud)
结果显示如下:
Town 1 | 53
Town 2 | 45
Town 3 | 64
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想显示所有城镇甚至没有订单?
预期结果:
Town 1 | 53
Town 2 | 45
Town 3 | 64
Town 4 | 0
Town 5 | 0
Run Code Online (Sandbox Code Playgroud)
我已经尝试将LEFT JOIN替换为RIGHT JOIN,这甚至都不起作用.结果相同.
您的过滤器不包括没有订单的过滤器.尝试将条件纳入联接,你应该没事.
SELECT S.city, count(O.any_non_nullable_field) as NumOfOrders
FROM Shop as S
LEFT JOIN orders O ON (O.ShopID = S.ShopID AND O.status = 4)
Group by S.city
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |