表A的数据如下:  
 
name              sex              age      monthwage  
'张三'          ‘男’        28          1000  
'李四'          ‘男’        25          800  
 
通过什么方法可以转置得到如下结果:  
   
'张三'        ‘李四’  
‘男’          '男'  
 28                  25    
 1000              800  
 
请大家帮一下忙。谢谢了!  

解决方案 »

  1.   

    select name from 表A
    union 
    select sex  from 表A
    union
    select age      from 表A           
    union
    select monthwage  from 表A没效率的,数据少的时候用的
      

  2.   

    这类事一般是由表现层控件去完成,没必要用SQL来实现.
      

  3.   

    行列转换啊
    去itpub.net上查查吧
    或是google一下
    有好多的
      

  4.   

    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