如果替换值不为null,如何替换为列?

时间:2014-04-23 01:29:07

标签: mysql sql

我需要一个查询,如果它不为null,则会替换列表 中的某个列。 例如:

replace into upd_services 
select item_id, select (item_desc if is not null), item_list_price  
from upd_services_changes_3 
where item_list_price between 0 and 100;

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您有其他需要更新的列,似乎您希望在其中或选择列表中为NULL值评估该字段。

replace into upd_services 
select item_id, item_desc, item_list_price  
from upd_services_changes_3 
where item_list_price between 0 and 100
and item_desc is not null;

或者可能:

replace into upd_services 
select item_id, ISNULL(a.item_desc, b.item_id), item_list_price  
from upd_services_changes_3 a 
join upd_services b ON a.item_id = b.item_id
where item_list_price between 0 and 100;