masterTable (id, description, list_price) と changesTable (id, description, list_price) という同じ構造の 2 つのテーブルがあります。
changesTable の変更を masterTable にマージしたいが、changesTable で NULL の場合に masterTable の 'description' を更新したくない、古い値を保持したい
私はこれをやろうとしました
WHEN MATCHED THEN
UPDATE SET master.list_price=changes.list_price,
master.description=ch.description
WHERE length(changes.description)>0
ただし、この場合、list_price も更新されません。
それらを適切にマージするにはどうすればよいですか?ありがとう
問題の説明は次のとおりです。単一のマージ ステートメントを使用して、upd_services テーブルをテーブル upd_services_changes_2 のデータで更新します。このマージには、更新、削除、および挿入が含まれます。このタスクでは、削除は変更テーブルのマイナスの価格で示されます。変更テーブルの説明フィールドが null の場合は、更新時にサービス テーブルの説明を変更しないでください。定価が 0 以上の場合にのみ、挿入を行います。