现有一张学生成绩表:张三 语文 80 张三 数学 90 张三 物理 85 李四 语文 85 李四 数学 92 李四 物理 82 结果:姓名 语文 数学 物理 张三 80 90 85 李四 85 92 82
解决方案 »
- 如何将sql查询出的数值转换为时间
- 如何把用户所属的表的记录数一次统计出来?
- 数据的导入问题,请大家帮忙。
- 一个挑战自我排序问题!!!
- 我创建的表,其他用户查询的时候需要在表名前加我的用户名,怎么样才能不加用户名就能查询呢?
- 存储过程中建立一个表时出错,提示没有权限,为什么?
- 如何把字符串分割后,放入一个数组中????
- 那位慈心仁厚的大侠,教小弟几招!————Oracle8.0.5的幼稚问题!
- 如何取得截取字符串的值
- rman 备份和CONTROL_FILE_RECORD_KEEP_TIME有多大关系
- profile connect_time 设定为1,实际断开时间超过1分钟,求解
- 除了游标还有什么办法可以循环表
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