PostgreSQL中的数据透视表在列中重复值

时间:2016-04-12 16:53:39

标签: postgresql pivot repeat

在表格中包含以下数据:
ID ---------类别---------值
1234 -------- Cat01 ----------- V001
1234 -------- Cat02 ----------- V002
1234 -------- Cat03 ----------- V003
1234 -------- Cat03 ----------- V004
1234 -------- Cat03 ----------- V005

我希望得到以下输出:

ID --------- Cat01 --------- Cat02 --------- Cat03
1234 ------- V001 ---------- V002 ---------- V003
1234 ------- V001 ---------- V002 ---------- V004
1234 ------- V001 ---------- V002 ---------- V005

如何在PostgreSQL中完成。如您所见,对于Cat03列中的每个条目,重复Cat01和Cat02列中的值 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样:

SELECT a.val AS cat01, b.val AS cat02, c.val AS cat03
FROM
    test_pivot AS a,
    test_pivot AS b,
    test_pivot AS c
WHERE
    a.category = 'Cat01'
    AND
    b.category = 'Cat02'
    AND
    c.category = 'Cat03'