我需要一个查询,如果它不为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;
实现这一目标的最佳方法是什么?
答案 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;