如何将表格的行转换为列值 例如,我有一张桌子
emp id 1 2 3 4
我希望输出为
1 2 3 4
我也在postgres中使用oracle和crosstab中的pivot,但是无法获得所需的解决方案,如上所示。
答案 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));