我的要求在此链接Requirement中。如果我们运行查询,我们将分别获得计数为 3 的 Chennai 和 Pune,因为 chennai 和 pune 的 regionid 存在于表中。但我也需要将班加罗尔和德里显示为 0。我怎么做
问问题
76 次
2 回答
5
您可以使用LEFT JOIN
SELECT A.region_name, COUNT(B.ID)
FROM TableA A
LEFT JOIN TableB B
ON A.ID = B.ID
GROUP BY A.ID
请参阅此 SQLFiddle 演示
于 2012-12-15T08:27:24.690 回答
3
您没有将 Banglore 和 Delhi 设为 0,因为您正在加入表格,region_id
而那些region_id
(1)在表格中不可用,Leads
因此您将得到Banglore 和 Delhi 的vehicle_id
= NULL
(请参阅此)。因此,当您写作时WHERE B.vehicle_id = 2
,您的结果中不会出现班格洛尔和德里。所以删除WHERE
条件会给你你想要的结果(见这个)。如果你想保持这个条件,你可以通过使用Region.vehicle_id = 2
代替来做到这一点Leads.vehicle_id = 2
。
请参阅此 SQLFiddle。
(1)region_id
班加罗尔和德里。
于 2012-12-17T04:20:31.627 回答