MYSQL IFNULL无效

时间:2017-12-18 11:31:16

标签: mysql

MYSQL:

SELECT `item`.*,
       IFNULL(cart.Item, Item.ID) AS Button
FROM `item`
LEFT JOIN `cart` ON `cart`.`Item` = `item`.`ID`
AND `cart`.`User` = 3
GROUP BY `item`.`ID`
ORDER BY `item`.`ID`;

任何人都可以告诉我为什么IFNULL函数在这个SQL中不起作用;声明我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试使用此代替IFNULL功能 因为如果IFNULL()cart.item都为空,item.id可能会产生错误。

SELECT `item`.*,
IF(cart.Item is null, Item.ID, cart.Item) AS Button
FROM `item`
LEFT JOIN `cart` ON `cart`.`Item` = `item`.`ID`
AND `cart`.`User` = 3
GROUP BY `item`.`ID`
ORDER BY `item`.`ID`;

答案 1 :(得分:0)

您可以使用COALESCE()函数,如下所示:

SELECT `item`.*,  COALESCE(cart.Item, Item.ID) AS Button

当cart.item为NULL时,这将返回第二个参数Item.ID