当前位置: 代码迷 >> Oracle开发 >> 编纂sql语句
  详细解决方案

编纂sql语句

热度:66   发布时间:2016-04-24 07:02:55.0
编写sql语句
有一张student表
姓名  科目  成绩
小明  数学  50
小明  语文  60
小明  外语  70
小黑  数学  80
小黑  语文  90
小黑  外语  100

写一条sql语句变成
姓名  数学  语文  外语
小明  50    60    70
小黑  80    90    100
SQL

------解决方案--------------------
刚学oracle吧?这是最简单的行列转换了。

select t.姓名,
       sum(decode(t.科目, '数学', t.成绩, 0)) 数学,
       sum(decode(t.科目, '语文', t.成绩, 0)) 语文,
       sum(decode(t.科目, '外语', t.成绩, 0)) 外语
  from student t
  group by t.姓名;
  相关解决方案