decode、nvl函数
code row col_1 col_2 col_3 col_4......
k_4_1=x_1_4/(x_1_4+y_1_3*1.1)*z_4_1;
update k set k.col_1=(
select (temp.x2*1.1/decode((temp.x1+temp.x2*1.1),0,1,(temp.x1+temp.x2*1.1)))*z.col_1
from (
select nvl(a1.xxdm,a2.xxdm) xxdm ,nvl(a1.x1,0) x1 ,nvl(a2.x1,0) x2
from
( select code,col_4 x1 from x where x.row=1 ) a1
full outer join
(select code,col_3 x1 from y where y.row=1 ) a2
on a1.code=a2.code) temp
left join z on temp.code=z.code and z.row=4
where temp.code =k.code
) where k.row=4