oracle 行转列

 Create   table   test   (name   char(10),km   char(10),cj   Number)  
   
  insert   into   test   values('
张三','语文',80)  
  insert   into   test   values('
张三','数学',86)  
  insert   into   test   values('
张三','英语',75)  
  insert   into   test   values('
李四','语文',78)  
  insert   into   test   values('
李四','数学',85)  
  insert   into   test   values('
李四','英语',78)  
   
  commit;  
 
怎样实现成这样:  
  name    
语文     数学     英语  
 
李四     78         85         83  
 
张三     80         86         75  

select    
  name,  
  sum(decode(km,'
语文',cj,0)   语文,  
  sum(decode(km,'
数学',cj,0)   数学,  
  sum(decode(km,'
英语',cj,0)   英语  
  from   test   group   by   nameTop

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章