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


网页标题:oracle行转列
标题来源:http://ybzwz.com/article/gjjdpo.html