看了,有一个问题大家能办我解决一下吗  就是怎么把一个表的  列 和行 颠倒一下
name    classes   cord
 张三      语文     89
 张三      数学     100
 李四      语文      80
 李四      数学      60查询结果是 :name    语文   数学张三      80    100
李四      80    60

解决方案 »

  1.   

    先关注下,这在sql板块里面的经典题目啊!
      

  2.   

    很简单的横表改竖表。
    用  DECODE 和SUM 两个函数搞定
      

  3.   

    select name,max(case when classes='语文' then cord else null end) 语文
    ,max(case when classes='数学' then cord else null end) 数学
    from tb
    group by name;
      

  4.   

    3楼兄弟,你的sql好像有问题啊!无效列名
    谢谢关注啊 兄弟
      

  5.   

    select name,max(DEODE(classes,'语文',cord, null)) 语文 
    ,max(DEODE(classes,'数学' ,cord, null)) 数学 
    from tb 
    group by name;