已有如下表:客户编号 报表列号 A B 起始日期(月初) 截至日期(月末)
0001 1 100 200 2007.01.01 2007.01.31
0001 2 260 180 2007.01.01 2007.01.31
0002 1 300 100 2007.01.01 2007.01.31
0002 2 360 230 2007.01.01 2007.01.31
0001 1 100 200 2007.02.01 2007.02.28
0001 2 240 180 2007.02.01 2007.02.28
0002 1 300 100 2007.02.01 2007.02.28
0002 2 260 170 2007.02.01 2007.02.28
. . . . . .
. . . . . . . . . . . .用SQL查询语句如何实现某一年度以下结果:
1月 2月 3月 4月 ..... 12月
客户编号 A B A B A B A B
0001 360 380 340 380
0002 660 330 560 270A 和 B分别为 表列2和表列2的和,也就是按照客户编号及日期起和日起止分组求和
0001 1 100 200 2007.01.01 2007.01.31
0001 2 260 180 2007.01.01 2007.01.31
0002 1 300 100 2007.01.01 2007.01.31
0002 2 360 230 2007.01.01 2007.01.31
0001 1 100 200 2007.02.01 2007.02.28
0001 2 240 180 2007.02.01 2007.02.28
0002 1 300 100 2007.02.01 2007.02.28
0002 2 260 170 2007.02.01 2007.02.28
. . . . . .
. . . . . . . . . . . .用SQL查询语句如何实现某一年度以下结果:
1月 2月 3月 4月 ..... 12月
客户编号 A B A B A B A B
0001 360 380 340 380
0002 660 330 560 270A 和 B分别为 表列2和表列2的和,也就是按照客户编号及日期起和日起止分组求和
sum(decode(to_char(起始日期(月初),'yyyydd'),'200701',A,0)) as 一月A,
sum(decode(to_char(起始日期(月初),'yyyydd'),'200701',B,0)) as 一月B,
sum(decode(to_char(起始日期(月初),'yyyydd'),'200702',A,0)) as 二月A,
sum(decode(to_char(起始日期(月初),'yyyydd'),'200702',B,0)) as 二月B,
....
sum(decode(to_char(起始日期(月初),'yyyydd'),'200712',A,0)) as 十二月A,
sum(decode(to_char(起始日期(月初),'yyyydd'),'2007121',B,0)) as 十二月Bfrom 表名 group by 客户编号;