如何用SQL转置表格
现在如下的清单姓名 险种类型 缴费工资 划入帐户金额 划入统筹金额 个人缴费金额 划入帐户利息 划入统筹利息 个人缴费利息 滞纳金
陈浩生 住院补充医疗 1560 0 15.6 0 0 0 0 0
陈浩生 综合基本医疗 1560 31.2 70.2 31.2 0 0 0 0
陈浩生 生育 2350 0 11.75 0 0 0 0 0
陈浩生 企业养老 1560 0 124.8 124.8 0 0 0 0
陈浩生 工伤 1560 0 7.8 0 0 0 0 0
陈浩生 失业 1560 0 7.8 0 0 0 0 0
陈浩生 企业养老 1560 0 124.8 124.8 0 0 0 0
陈浩生 地方养老 1560 46.8 0 0 0 0 0 0
陈浩生 工伤 1560 0 7.8 0 0 0 0 0
陈浩生 生育 2600 0 13 0 0 0 0 0
陈浩生 失业 1560 0 7.8 0 0 0 0 0
陈浩生 综合基本医疗 1560 31.2 70.2 31.2 0 0 0 0
陈浩生 住院补充医疗 1560 0 15.6 0 0 0 0 0
陈浩生 地方养老 1560 46.8 0 0 0 0 0 0 需要转置成如下格式,用SQL怎么写?
姓名 养老工资 养老个人 养老单位 失业工资 失业个人 失业单位 工伤工资 工伤个人 工伤单位 生育工资 生育个人 生育单位 医疗工资 医疗个人 综合基本医疗单位 住院补充医疗单位 个人小计
陈浩生 3120 249.6 343.2 3120 0 15.6 3120 0 15.6 4950 0 24.75 3120 62.4 202.8 31.2 312 使用decode,或者case when 。。。 end case
这个语法,很轻松就做到了
select
"姓名",
sum (case when "险种" = '...' then ... end case) as "养老工资",
sum (case when .....) as "养老个人",
....
from your-table
group by 1 偶也和想知道。。。
页:
[1]