将行转置为Postgres中的列

时间:2019-08-03 23:57:03

标签: sql postgresql pivot

我需要将行转换为具有相应值的列

我是Postgres的新手,已经插入了指向表格图像以及我如何需要“必需”结果的链接。我非常感谢您提出的解决建议或意见 在此处输入图片描述:

原始表

必填结果

2 个答案:

答案 0 :(得分:1)

如果列保持不变,这是一个简单的方法。这可以通过对聚合进行分组和过滤来完成:

demo:db<>fiddle

containerRef.current.canvas.current

答案 1 :(得分:0)

我知道使用图像是个问题,但是我无法输入所有内容,也无法添加excel表格f。我感谢大家的帮助。尽管我能够解决该问题,

create view test3 as 
( SELECT
    *
FROM CROSSTAB (
    'SELECT
  entryid
, submissionid
, questionid
, questiontext
, questiontype
, answer    
     FROM test2
     ORDER BY 1;'
     , $$ VALUES ('CSAT'::TEXT), ('FACILITIES'::TEXT), ('NPS'::TEXT), ('SERVICES'::TEXT), ('FOOD_BEVERAGES'::TEXT) $$
) AS "ct" (
    "entryid" TEXT
    , "submissionid" TEXT
, "questionid" TEXT
, "questiontext" TEXT
    , "CSAT" TEXT
    , "FACILITIES" TEXT
    , "NPS" TEXT
, "SERVICES" TEXT
, "FOOD_BEVERAGES" TEXT
)
);