sql如何这样合并表列进行显示

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:43:43
aa表
日期 费用类型 费用金额
1 x 2
2 y 5
1 y 6
2 x 4
5 y 8
2 z 3
5 x 9

查询结果如下
日期 x型费用金额 y型费用金额 z型费用金额
1 2 6 0
2 4 5 3
5 9 8 0

给你个模板学习!!
学生编号 学生姓名 科别 分数
1083 张三 语文 75
1083 张三 数学 84
1083 张三 英语 92
1084 李四 语文 84
1084 李四 数学 93
1084 李四 英语 87

怎么得出如下的表
学生编号 学生姓名 语文 数学 英语
1083 张三 75 84 92
1084 李四 84 93 87

答案:
Select 学生编号,学生姓名,sum(case when 科别=’语文’ then 分数 else 0 end) as 语文,sum(case when 科别=’数学’ then 分数 else 0 end) as 数学,sum(case when 科别=’英语’ then 分数 else 0 end) as 英语 from A group by 学生编号,学生姓名

1楼好办法。

一楼的方法用decode也可以实现