我只想从交叉表中返回动态列,基于查询结果的列名称。 header 是从不同的表(如类型)中查找的。p>
任何帮助表示赞赏。到目前为止,我可以获得硬编码列。
例如
结果1:
结果2:
SELECT * FROM crosstab(
$$
SELECT property, name, count(prm_id)
FROM vw_ex_insp_sum
WHERE prm_id = 1
AND date_t BETWEEN '2021/01/01' AND '2021/1/31'
GROUP BY property, name
HAVING count(prm_id) >0
$$,
$$
SELECT name FROM lookup WHERE l_type=12
ORDER BY vit
$$
) AS final_result (
Name2 varchar,
"Annual (365)" bigint, "Follow-Up (30)" bigint, "3" bigint, "4" bigint, "5" bigint ,
name_0 bigint, name_1 bigint, "8" bigint, "Indicator (Post-Event)" bigint, "10" bigint ,
"11" bigint, "12" bigint, "13" bigint, "14" bigint, "15" bigint ,
"16" bigint
);
最佳答案
下面是实现完整动态数据透视表解决方案而不是使用交叉表
的两个示例:
关于postgresql - 数据透视表/交叉表 : I wan to return dynamic columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70872306/