Надеюсь, это поможет:
create table t1(VL_Liegenschaften nvarchar(128), VLW_OTOID nvarchar(128), VLI_OMDF_ID nvarchar(128))
create table t2(VL_Liegenschaften nvarchar(128), VLI_OMDF_ID nvarchar(128))
insert into t1
values('59806', 'B.178.002', 'FRA_11'), ('60001', 'B.178.002', null), ('69001', 'B.178.002', null)
insert into t2
values('59806', 'FRA_11'), ('60001', null), ('69001', null)
merge into t2
using(select t.VL_Liegenschaften, t1.VLI_OMDF_ID
from t1
join t1 as t on t1.VLW_OTOID = t.VLW_OTOID
where t.VLI_OMDF_ID is null) t
on (t.VL_Liegenschaften = t2.VL_Liegenschaften
and t.VLI_OMDF_ID IS NOT NULL)
when matched then
update set t2.VLI_OMDF_ID = t.VLI_OMDF_ID
;
ОБНОВЛЕНИЕ: обновить после уточнения условия
, если в первой таблице нет столбца VLI_OMDF_ID
:
create table t1(VL_Liegenschaften nvarchar(128), VLW_OTOID nvarchar(128))
create table t2(VL_Liegenschaften nvarchar(128), VLI_OMDF_ID nvarchar(128))
insert into t1
values('59806', 'B.178.002'), ('60001', 'B.178.002'), ('69001', 'B.178.002'), ('79001', 'C.718.002'), ('79002', 'C.718.002')
insert into t2
values('59806', 'FRA_11'), ('60001', null), ('69001', null), ('79001', 'USA_01'), ('79002', null)
merge into t2
using(select t1.VL_Liegenschaften, t.VLI_OMDF_ID
from (
select t2.VL_Liegenschaften, t2.VLI_OMDF_ID, t1.VLW_OTOID
from t2
join t1 on t1.VL_Liegenschaften = t2.VL_Liegenschaften
where t2.VLI_OMDF_ID IS NOT NULL
) t
join t1 on t.VLW_OTOID = t1.VLW_OTOID) t
on (t.VL_Liegenschaften = t2.VL_Liegenschaften
and t2.VLI_OMDF_ID IS NULL)
when matched then
update set t2.VLI_OMDF_ID = t.VLI_OMDF_ID
;