採取以下數據:如何LEFT JOIN一個表,取出SUM()或返回0與WHERE子句?
db.users
id name
1 David
2 James
3 Mary
db.payments
amount user_id paid
5 1 0
55 1 1
94 1 1
5 2 0
55 2 1
94 2 1
5 2 0
55 2 1
94 2 1
我想左連接付款表給用戶表和SUM(),其中支付= 0的量:
SELECT users.*, SUM(payments.amount)
FROM users
LEFT JOIN payments
ON users.id = payments.user_id
WHERE payments.paid = 0
GROUP BY users.id
ORDER BY users.id DESC
的問題出現在那個'mary'(用戶3)沒有得到回報,因爲她在支付表中沒有任何記錄。這是下到WHERE子句檢查付費= 0.
我想如果沒有記錄返回0作爲總和。
任何想法如何做到這一點?
謝謝,這是伎倆......不知道爲什麼我沒有想到:P。現在我只需要進行優化。 – David