2011-11-17 34 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()(一个聚合函数),您应该将计数项目移动到子查询中

相关问题