oracle单表查询的问题

有一个流水明细表,字段有:部门(‘001’),日期(‘20190417’),金额(‘52462’)
我现在要查 各部门 2017,2018,2019年 每年的 合计金额,

我写的是

select a.部门, a.suma,b.sumb,c.sumc from
(select 部门, sum(金额) suma
from (select * from 表 where 日期 like '2019%')
group by 部门)a
left join
(select aab034, sum(金额) sumb
from (select * from 表 where 日期 like '2018%')
group by 部门)b
on a.部门 = b.部门
left join
(select aab034, sum(金额) sumc
from (select * from 表 where 日期 like '2017%')
group by 部门)c
on a.部门 = c.部门

但是这样太烂了,要是查每个月的话得left join 12次,求正确写法
查看全部
singleapollo
singleapollo
2019/04/17 16:46
  • oracle
  • sql
  • 点赞
  • 收藏
  • 回答
    私信

4个回复