透视查询的头疼问题。。。。请帮忙。。。。
有一结果集,如下:
CODEID2 TECLEVELNAMEEMP_NUM
博士研究生无级 5
初中 初级 137
初中 高级 138
初中 高级技师资格1
初中 技师资格 15
初中 无级 2069
初中 中级 652
大学本科 高级 9
大学本科 技师资格 4
大学本科 无级 680
大学本科 中级 10
大学专科和专科学校初级 17
大学专科和专科学校高级 122
大学专科和专科学校高级技师资格2
大学专科和专科学校技师资格 30
大学专科和专科学校无级 746
大学专科和专科学校中级 149
高等职业 初级 1
高等职业 高级 39
高等职业 无级 34
高等职业 中级 6
高中 初级 81
高中 高级 490
高中 高级技师资格4
高中 技师资格 47
高中 无级 639
高中 中级 671
技工学校 初级 7
技工学校 高级 21
技工学校 技师资格 4
技工学校 无级 83
技工学校 中级 44
小学 高级 1
小学 无级 3
学士 中级 1
研究生 无级 33
中专或中技初级 32
中专或中技高级 83
中专或中技技师资格 15
中专或中技无级 257
中专或中技中级 274
需要的结果样式如下:
CODEID2初级高级高级技师资格 技师资格 无级中级总计
博士研究生 5 5
初中13713811520696523012
大学本科9468010703
大学专科和专科学校171222307461491066
高等职业13934680
高中814904476396711932
技工学校72148344159
学士11
研究生3333
中专或中技328315257274661
有点象在Excel中的数据透视,但在sql中怎么写不知道,请各位帮帮忙。。。
[解决办法]
select CODEID2,sum(decode(TECLEVELNAME, '初级 ',EMP_NUM, ' ')),
sum(decode(TECLEVELNAME, '高级 ',EMP_NUM, ' ')),
sum(decode(TECLEVELNAME, '高级技师资格 ',EMP_NUM, ' ')),
sum(decode(TECLEVELNAME, '技师资格 ',EMP_NUM, ' ')),
sum(decode(TECLEVELNAME, '无级 ',EMP_NUM, ' ')),
sum(decode(TECLEVELNAME, '中级 ',EMP_NUM, ' ')),
sum(EMP_NUM)
from tablename
group by CODEID2
