2011-11-17 76 views
0

這裏是我的SQL返回行,即使它不應該找一個在表

SELECT items.name, items.id, items.price, 
COUNT(cart_items.itemId) AS quantity 
FROM `cart_items` 
LEFT JOIN `items` 
ON cart_items.itemId = items.id 
WHERE cart_items.cartId = '2' 

有在表cart_items無行爲2。cartId然而,結果集仍顯示一個空行。爲什麼?我的查詢有什麼問題?

(如果我設置cart_items.cartId ='1'(有符合的1 cartId錶行),然後一切恢復正常。

對不起,我是相當新的這種的MySQL。

回答

4

因爲你使用COUNT()(一個聚合函數),您應該將計數項目移動到子查詢中

相關問題