select B.AUFNR,A.KTEXT,B.MATNR,C.MAKTX,B.SAKNR,D.TXT20,B.ZSL,B.ZFYJE,
       sum(f.MENGE),sum(f.DMBTR*decode(f.shkzg,'S','-1','1'))
       from 
Z_AFPO_RFC_ZZAUFK a
left JOIN Z_ZZFIT013_RFC b ON A.AUFNR = B.AUFNR
left JOIN Z_MAKT_RFC c ON B.MATNR =C.MATNR
left JOIN Z_SKAT_RFC d ON B.SAKNR =D.SAKNR
left JOIN Z_ZMARA_RFC e ON B.MATNR =E.MATNR
left JOIN Z_ZMSEG_RFC f ON B.AUFNR=F.AUFNR
where A.AUART  in ('Z600','Z500','Z600')
AND D.KTOPL ='1000'
AND group by f.MATNR

解决方案 »

  1.   

    聚合函数太少  或者group by 太少
      

  2.   

    select B.AUFNR,
           A.KTEXT,
           B.MATNR,C.MAKTX,
    --应该是半角逗号(英文的)
           B.SAKNR,
           D.TXT20,
           B.ZSL,
           B.ZFYJE,
           sum(f.MENGE),
           sum(f.DMBTR * decode(f.shkzg, 'S', '-1', '1'))
      from Z_AFPO_RFC_ZZAUFK a
      left JOIN Z_ZZFIT013_RFC b
        ON A.AUFNR = B.AUFNR
      left JOIN Z_MAKT_RFC c
        ON B.MATNR = C.MATNR
      left JOIN Z_SKAT_RFC d
        ON B.SAKNR = D.SAKNR
      left JOIN Z_ZMARA_RFC e
        ON B.MATNR = E.MATNR
      left JOIN Z_ZMSEG_RFC f
        ON B.AUFNR = F.AUFNR
     where A.AUART in ('Z600', 'Z500', 'Z600')
       AND D.KTOPL = '1000' AND 条件缺失
     group by f.MATNR,把非聚合列放上来