Du musst den Update mit einer Where-Bedingung ergänzen, da der Subselect ja auch NULL-Werte liefern kann:

Update tab1 set fld2 = (Select fld2 from tab2 where tab1.fld1 = tab2.fld1 and tab2.fld2 <> ' ')
where fld1 in (Select fld1 from tab2 where tab1.fld1 = tab2.fld1 and tab2.fld2 <> ' ')