求一个能判断表中数据,只填充不覆盖的sql

问题遇到的现象和发生背景

我主表中三个字段需要填充内容(其中一个是新增字段的全为null,另外两个字段部分含有数据,其余均为null)。

需求

我需要向表中填充数据,并且不能覆盖表中已有数据

运行结果及报错内容
我的解答思路和尝试过的方法

我是将主表三个字段中全为空的记录批量填充入副表的相应数据,然后手动录入其余的记录。

我想要达到的结果

求一个能判断表中数据,只填充不覆盖的sql

更新时,用case判断主表字段内容是否为空,如果为空,则赋上副表对应字段值,不为空,则保持原来的值。

update a
set a.column1 = case when a.column1 = null then b.column1 else a.column1 end
from a, b
where a.id = b.id --判断条件