select stuno,stuname,marks1 from TB_test
union all select stuno,stuname,marks2 as marks1 from TB_test
union all select stuno,stuname,marks3 as marks1 from TB_test
union all select stuno,stuname,marks4 as marks1 from TB_test
select STUNO,STUNAME,Marks1 from test2
union
select STUNO,STUNAME,Marks2 from test2
union
select STUNO,STUNAME,Marks3 from test2
union
select STUNO,STUNAME,Marks4 from test2
oracle 11g和 SQL2005里似乎都有 pivot和unpivot函数。
看看是不是可以转换