编写sql语句有一张student表姓名科目成绩小明数学50小明语文60小明外语70小黑数学80小黑语文90小黑外语100
编写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.姓名;
