我有两个结构相同的表:masterTable (id, description, list_price) 和 changesTable (id, description, list_price)
我想将changesTable中的更改合并到masterTable中,但是当masterTable中的changesTable为NULL时,我不想更新'description',我想保留旧值
我试着这样做
WHEN MATCHED THEN
UPDATE SET master.list_price=changes.list_price,
master.description=ch.description
WHERE length(changes.description)>0
但在这种情况下,list_price 也不会更新。
如何正确合并它们?谢谢
这里是问题的描述: 使用单个merge 语句用表upd_services_changes_2 中的数据更新upd_services 表。此合并将包括更新、删除和插入。对于此任务,更改表中的负价格表示删除。如果更改表中的描述字段为空,则在进行更新时不要更改服务表中的描述。仅当标价为 0 或更大时才进行插入。