我正在尝试更新一个表并将一个列set_price设置为另一个表中的值。
两个记录共享相同的null。有人能看一下我的问题并告诉我有什么问题吗?

 update list_items l
 set purchased = "YES",
 set_price =  IFNULL(set_price,(select pricelast
                     from inventory i where i.prod_id=l.prod_id))
 where l.list_id=1

最佳答案


update list_items l
left join inventory i on i.prod_id=l.prod_id
set l.purchased = 'YES',
l.set_price =
case
  when l.set_price is null then i.pricelast else l.set_price
end

关于mysql - MySQL ifnull子查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29523113/

10-10 18:10