返回一行,即使它不应该在表中找到一行



这是我的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中没有cartId为2的行。然而,结果集仍然显示一个空行。为什么?我的问题有什么问题?

(如果我设置cart_items.cartId ='1'(表中有cartId为1的行),那么一切都返回良好。

对不起,我对这种MySQL很陌生。

因为您使用COUNT()(一个聚合函数)。您应该将计数项移动到子查询中。

相关内容

  • 没有找到相关文章

最新更新