有一个表:
ID 月份 长途通话数 本地通话数
1 3 12 13
2 3 12 55
3 4 65 3
4 4 77 4
5 4 66 2
6 5 66 89
7 5 66 0
....
----------
想要的结果表:
ID 3月份长途通话数 3月份本地通话数 4月份长途通话数 4月份本地通话数 5月份长途通话数 5月份本地通话数
...
...
...
注释:月份就只有3,4,5这三个月,按ID group by
ID 月份 长途通话数 本地通话数
1 3 12 13
2 3 12 55
3 4 65 3
4 4 77 4
5 4 66 2
6 5 66 89
7 5 66 0
....
----------
想要的结果表:
ID 3月份长途通话数 3月份本地通话数 4月份长途通话数 4月份本地通话数 5月份长途通话数 5月份本地通话数
...
...
...
注释:月份就只有3,4,5这三个月,按ID group by
sum(CASE WHEN [月份]=3 THEN 长途通话数 ELSE 0 END) AS '3月长途通话数',
sum(CASE WHEN [月份]=3 THEN 本地通话数 ELSE 0 END) AS '3月本地通话数',
sum(CASE WHEN [月份]=4 THEN 长途通话数 ELSE 0 END) AS '4月长途通话数',
sum(CASE WHEN [月份]=4 THEN 本地通话数 ELSE 0 END) AS '4月本地通话数',
sum(CASE WHEN [月份]=5 THEN 长途通话数 ELSE 0 END) AS '5月长途通话数',
sum(CASE WHEN [月份]=5 THEN 本地通话数 ELSE 0 END) AS '5月本地通话数'
from Ta或用nvl
哈哈哈
SUM(DECODE([月份],3,长途通话数,0)) AS '3月长途通话数',
SUM(DECODE([月份],3,本地通话数,0)) AS '3月本地通话数',
SUM(DECODE([月份],4,长途通话数,0)) AS '4月长途通话数',
SUM(DECODE([月份],4,本地通话数,0)) AS '4月本地通话数',
SUM(DECODE([月份],5,长途通话数,0)) AS '5月长途通话数',
SUM(DECODE([月份],5,本地通话数,0)) AS '5月本地通话数',
from Ta