表如下: 序号 姓名 科目 分数 01 张三 a 100
01 张三 b 98
01 张三 c 97
02 李四 a 98
02 李四 b 99
02 李四 c 100
03 王五 a 99
03 王五 b 100求一条sql语句,查询结果如下01 张三 100 98 97
02 李四 98 99 100
03 王五 99 100也就是序号,姓名合并,分数按照 a b c 的顺序列出来,没有的为空,谢谢!
01 张三 b 98
01 张三 c 97
02 李四 a 98
02 李四 b 99
02 李四 c 100
03 王五 a 99
03 王五 b 100求一条sql语句,查询结果如下01 张三 100 98 97
02 李四 98 99 100
03 王五 99 100也就是序号,姓名合并,分数按照 a b c 的顺序列出来,没有的为空,谢谢!
select 序号,姓名,
max(decode(科目,'a',分数,0)) as 'a',
max(decode(科目,'b',分数,0)) as 'b',
max(decode(科目,'c',分数,0)) as 'c'
from tab
group by 序号,姓名不固定列的情况下,要写存储过程进行转换
http://topic.csdn.net/u/20101209/18/ddb54d8c-bf4a-46fe-bd21-12571bc4fd19.html