Oracle行列转换

数据表如下所示:

student   subject   grade   

---------------------------   
student1   语文   80   
student1   数学   70   
student1   英语   60   
student2   语文   90   
student2   数学   80   
student2   英语   100   
……   
转换为     
语文   数学   英语   
student1   80   70   60   
student2   90   80   100  

……   
语句如下:  

select   student,sum(decode(subject,'语文',   grade,null))   "语文",   
sum(decode(subject,'数学',   grade,null))   "数学",   
sum(decode(subject,'英语',   grade,null))   "英语"   
from   table   
group   by   student  

 

posted on 2013-03-06 16:22  ThinkFar  阅读(127)  评论(0编辑  收藏  举报