select p.pcmxid,
j.csjtf * p.jsrs + j.dpf * p.jsrs + j.zsf * p.jsrs * p.sjts +
j.clbzf * p.jsrs * p.sjts + j.bxf * p.jsrs * p.sjts as jsxj
from pcmx p
left join (----关联一个过渡表
select p.pcmxid,
case when j2.pcmxid is not null then
j2.jsjfbzid
else j.jsjfbzid
end as jsjfbzid
from pcmx p ,jsjfbz j,jsjfbz j2
where j.pcmxid is null and p.pcmxid = j2.pcmxid(+)) tem on tem.pcmxid=p.pcmxid
left join jsjfbz j
on j.jsjfbzid = tem.jsjfbzid
where p.pcmxid=
'ce15d0421c20f2403fa48dc4b8b96e57'
这样就实现了当jsjfbz .pcmxid is not null时关联一条数据jsjfbz .pcmxid is null时关联另一条数据