select cl.areaclname,
       cu.custcode,
       cu.custname,
       (case
         when zb.djlxbm = 'D0' then
          fb.jfbbje * -1
         when zb.djdl = 'sk' then
          fb.dfbbje
         else
          0
       end) as skje,
       decode(t2.hxje,null, 0,t2.hxje) as hxje,
       (case
         when zb.djlxbm = 'D0' then
          fb.jfbbje * -1
         when zb.djdl = 'sk' then
          fb.dfbbje
         else
          0
       end) - decode(t2.hxje, null,0,t2.hxje) as hxye
  from arap_djfb fb
  left outer join arap_djzb zb on fb.vouchid = zb.vouchid
  left outer join bd_invbasdoc inv on fb.cinventoryid = inv.pk_invbasdoc
  left outer join (select sum(case
                                when djdl = 'sk' and zy = 'UPP20060504-000238' then
                                 clb.dfclbbje
                                else
                                 clb.jfclbbje2
                              end) as hxje,
                          fb_oid
                     from arap_djclb clb
                    where clb.clrq <='2012-12-31'
                  group by fb_oid ) t2 on fb.fb_oid = t2.fb_oid
  left outer join bd_cumandoc cm on fb.ksbm_cl = cm.pk_cumandoc
  left outer join bd_cubasdoc cu on cm.pk_cubasdoc = cu.pk_cubasdoc
  left outer join bd_areacl cl on cu.pk_areacl = cl.pk_areacl
 where ((zb.djlxbm = 'D0' and inv.invcode like '11%' and fb.zyx9 = 'Y') or
       (zb.djdl = 'sk'))
   and zb.djrq <='2012-12-31'
   and fb.dwbm = '1018'
   and ((case 
              when zb.djlxbm = 'D0' then fb.jfbbje * -1
              when zb.djdl = 'sk' then fb.dfbbje
              else 0 
              end) - decode(t2.hxje,null,0,t2.hxje) <> 0)
   and fb.dr = 0  执行没有问题,就是decode(t2.hxje,null,0,t2.hxje)提取不到数值,我怀疑是t2和fb两个表连接的问题导致的。跪求高手解决在线等数据库join