2012-11-14 132 views
0

我想我只是沒有看到森林中的所有樹的原因....伯爵購買

一)兩個表:

  • 用戶(ID,用戶名,。 ..)
  • 購買(ID,用戶名,項ID,....)

b)我想一個查詢,顯示我有多少購買每位用戶取得了..

c)本查詢:

SELECT user.*, COUNT(purchases.userid) AS Purchases 
FROM user, purchases 
WHERE user.id=purchases.user_id 

給我只有一個結果......如何讓0,如果用戶沒有進行購買?

感謝很多提前

回答

3
SELECT u.ID, 
     u.UserName, 
     (SELECT COUNT(1) FROM Purchases p WHERE u.Id=p.User_Id) AS Purchases 
FROM User u 
1

嘗試這樣的: -

SELECT user.UserName, ISNULL(COUNT(purchases.userid),0) 
    AS Purchases1 FROM user AS user LEFT JOIN purchases AS purchases 
    ON user.id=purchases.user_id 
    Group by UserName 
+0

'LEFT JOIN'需要一個'ON',不'WHERE' –

+0

而你並不真正需要的'ISNULL()'。 –

+0

感謝您指出錯誤...我更新了我的答案。 – Pranav