15 * (sum(decode(a.cbxz,'正常',sum(nvl(a.ql,0)),0))+sum(decode(a.cbxz,'换表',sum(nvl(a.ql,0)),0))+sum(decode(a.cbxz,'坏表',sum(nvl(a.ql,0)),0))+sum(decode(a.cbxz,'纠错',sum(nvl(a.ql,0)),0)))/1000
 - sum(decode(a.cbxz,'估抄',1,0))) + sum(decode(a.cbxz,'估抄',(decode(c.sffs,'托收',nvl(a.ql,0),0)),0))2*/1000 tc这种情况一般是括号的问题,数一下吧

解决方案 »

  1.   

    sum(decode(a.cbxz,'估抄',(decode(c.sffs,'托收',nvl(a.ql,0),0)),0))2*/1000 尾部")2*/1000"是不是写错了?
      

  2.   

    看看是不是下面两个地方的问题
    select b.xm cby,
           sum(decode(a.cbxz,'正常',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'换表',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'坏表',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'纠错',sum(nvl(a.ql,0)),0)) scql,
           sum(decode(a.cbxz,'估抄',(decode(c.sffs,'托收',nvl(a.ql,0),0)),0)) gcqlt,
           sum(decode(a.cbxz,'估抄',(decode(c.sffs,'托收',0,nvl(a.ql,0))),0)) gcqly,
           sum(nvl(a.ql,0)),15 * (sum(decode(a.cbxz,'正常',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'换表',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'坏表',sum(nvl(a.ql,0)),0))
           +sum(decode(a.cbxz,'纠错',sum(nvl(a.ql,0)),0)))/1000--这里有点问题吧,多个)
           - sum(decode(a.cbxz,'估抄',1,0)))-- 这里有点问题吧,多个)
           + sum(decode(a.cbxz,'估抄',(decode(c.sffs,'托收',nvl(a.ql,0),0)),0))2*/1000 tc
     from t_yh_yqjl a,t_dm_ry b,t_yh_jcxx c
     where a.cby=b.gh and a.cbyf=200402 group by b.xm
      

  3.   

    15 * (sum(decode(a.cbxz,'正常',sum(nvl(a.ql,0)),0))  --意义何在
    这句意思cbxz='正常',就作一个sum(ql),否则,0,根本就重复了sum(decode(a.cbxz,'正常',a.ql,0)) --是否这样意思