注册 登录
编程论坛 Oracle论坛

请教SQL怎么写?

jerryxuan 发布于 2018-04-13 23:51, 5467 次点击
  业务说明:查询出所有公司的发料总额,若该公司有多条发料运费,则将多条发料运费求和,每个公司只显示一条数据。
      例如:数据库中有字段  公司(butxt) 运费状态 status  运费  zyf
        我写的SQL查出来的数据显示结果如下:
            公司       运费状态      运费
            西安公司       发料        100
            西安公司       发料        200
            宝鸡公司       发料        100
但我想要的结果是:
             公司         运费状态       运费
            西安公司        发料          300
            宝鸡公司        发料          100
            
如下是我写的SQL该如何修改:
   SELECT BUTXT,STATUS,
            SUM(CASE WHEN Z.STATUS='发料' THEN Z.ZFY ELSE '0' END)AS FLZE,
            SUM(CASE WHEN Z.STATUS='退料' THEN Z.ZFY ELSE '0' END)AS TLZE
            FROM EKKO
            GROUP BY BUTXT,STATUS,ZYF
            ORDER BY BUTXT ASC
            注:FLZE是发料总额   TLZE是退料总额
    请大神们多多指导,该如何修改SQL,谢谢
3 回复
#2
anan19912018-07-18 11:59
SELECT BUTXT,STATUS,SUM(ZYF)            
            FROM EKKO
            GROUP BY BUTXT,STATUS
            ORDER BY BUTXT ASC
#3
anan19912018-07-18 12:01
SELECT BUTXT,STATUS,SUM(ZYF)            
            FROM EKKO
            GROUP BY BUTXT,STATUS
            ORDER BY BUTXT ASC
#4
BaoZhongke2020-11-08 04:13
select butxt,status,sum(ZYF)
            from ekko
            group by butxt,status
            order by butxt asc
1