将Row转换为列

时间:2013-12-18 08:09:27

标签: oracle postgresql oracle11g oracle10g local-storage

如何将表格的行转换为列值 例如,我有一张桌子

emp id
1
2
3
4

我希望输出为

1   2   3   4

我也在postgres中使用oracle和crosstab中的pivot,但是无法获得所需的解决方案,如上所示。

3 个答案:

答案 0 :(得分:1)

检查listagg function。请注意,至少需要Oracle 11。

答案 1 :(得分:0)

使用此脚本并将其更改为您的值以获得所需的结果

    SELECT * FROM (SELECT emp_id, emp_points
    FROM   emp_data)
    PIVOT  (
                SUM(emp_points) AS sum_emp_points 
                FOR (emp_id) IN (1 AS [1], 2 AS [2],3 AS [3],4 AS [4])
           );

答案 2 :(得分:0)

   select * from (select empno from t7) pivot(min(empno) for empno in (1,2,3,4));