求sql语句

libra_xxy 2011-08-01 02:44:56
现有一张学生成绩表:

张三 语文 80

张三 数学 90

张三 物理 85

李四 语文 85

李四 数学 92

李四 物理 82

结果:

姓名 语文 数学 物理

张三 80 90 85

李四 85 92 82

...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kobayashi 2011-08-01
  • 打赏
  • 举报
回复
一楼正解
libra_xxy 2011-08-01
  • 打赏
  • 举报
回复
原来还有一个这么好的函数啊。。。。。。。。。。。。谢谢
jym2002 2011-08-01
  • 打赏
  • 举报
回复

SQL> with t as (select '张三' name, '语文' course, 80 grade from dual
2 union all select '张三' ,'数学', 90 from dual
3 union all select '张三' ,'物理', 85 from dual
4 union all select '李四' ,'语文', 85 from dual
5 union all select '李四' ,'数学', 92 from dual
6 union all select '李四' ,'物理', 82 from dual)
7 select t.name "姓名",max(decode(course,'语文',grade)) "语文",max(decode(course,'数学',grade))
数学",
8 max(decode(course,'物理',grade)) "物理"
9 from t
10 group by t.name;

姓名 语文 数学 物理
---- ---------- ---------- ----------
李四 85 92 82
张三 80 90 85

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧