2013-03-27 170 views
0

我有以下查詢:SQL Server查詢與計數返回null或者沒有結果

SELECT Centre.Centre_Name, Count(Shop_No) AS shopcount FROM Centre INNER JOIN Space ON Centre.Centre_Name = Space.Centre_Name GROUP BY Centre.Centre_Name 

我需要它來從中央臺和每個中心的商店距離太空表的量恢復中心的名單。因此它會計算空間表中shop_no的數量,並返回中心名稱以及每個中心的商店數量。但是,如果中心沒有任何尚未分配給空間表的商店,則它不會從中心表中返回中心名稱。如果中心不存在於Space表中,我需要它返回0。

請指教:)

回答

5

使用的LEFT JOIN而不是INNER JOIN

SELECT Centre.Centre_Name, Count(Shop_No) AS shopcount 
FROM Centre 
    LEFT JOIN Space ON Centre.Centre_Name = Space.Centre_Name 
GROUP BY Centre.Centre_Name 
+0

謝謝。我還沒有走過左邊加入大學,大約兩週後。 – 2013-03-27 17:16:15

+0

@ barnacle.m - np,看看這個鏈接,以獲得不同類型連接的良好視覺表示:http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins – sgeddes 2013-03-27 17:17:07