Oracle行转列,列转行
select rownum as sortnum,
to_char(t.divisioncode) divisioncode,
to_char(divisionname) divisionname,
to_char(areaname) areaname
from t_area t
where rownum < 10
select sortnum,building_type,result
from (select rownum as sortnum,
to_char(t.divisioncode) divisioncode,
to_char(divisionname) divisionname,
to_char(areaname) areaname
from t_area t
where rownum < 10)
unpivot(result for building_type in(divisioncode,divisionname,areaname))
SELECT building_type, 一, 二, 三, 四, 五, 六, 七, 八, 九
FROM (select sortnum,building_type,result
from (select rownum as sortnum,
to_char(t.divisioncode) divisioncode,
to_char(divisionname) divisionname,
to_char(areaname) areaname
from t_area t
where rownum < 10)
unpivot(result for building_type in(divisioncode,divisionname,areaname))
) x
PIVOT(max(RESULT)
FOR sortnum IN(‘1’ AS 一, ‘2’ AS 二, ‘3’ AS 三, ‘4’ AS 四, ‘5’ AS 五, ‘6’ AS 六, ‘7’ AS 七, ‘8’ AS 八, ‘9’ AS 九))
ORDER BY building_type;