Postgresql以通用方式将列更改为行
Posted
技术标签:
【中文标题】Postgresql以通用方式将列更改为行【英文标题】:Postgresql change column to row in a generic way 【发布时间】:2013-07-19 12:37:41 【问题描述】:需要从大约一百列的表中检索键值对(列名,值)。
以下查询正是需要的。
With dummy AS (
Select 1 as Col1, 2 as Col2
)
SELECT
unnest(array['Col1', 'Col2']) AS "Column Name",
unnest(array[Col1, Col2]) AS "Value"
FROM dummy
但是,它需要明确指定列。
有没有办法通过不直接指定列名或动态生成来生成相同的输出。
【问题讨论】:
【参考方案1】:是的,在限制范围内。请参阅crosstab
function in the tablefunc
extension。
它不如真正的原生 CROSSTAB
或 PIVOT
命令好,但它会完成这项工作。
【讨论】:
以上是关于Postgresql以通用方式将列更改为行的主要内容,如果未能解决你的问题,请参考以下文章