-2

我的要求在此链接Requirement中。如果我们运行查询,我们将分别获得计数为 3 的 Chennai 和 Pune,因为 chennai 和 pune 的 regionid 存在于表中。但我也需要将班加罗尔和德里显示为 0。我怎么做

4

2 回答 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 回答