回答

收藏

PostgreSQL列到没有明确指定列名/列的行

技术问答 技术问答 258 人阅读 | 0 人回复 | 2023-09-12

我想知道有什么方法可以做到。PostgreSQL取消透视数据(将列转换为行)。9 H4 H0 V& I" u7 Y2 Z
例如,如果我有这样一个表:0 b6 J& A5 \8 J! C4 I- R3 y
ID   Name    Age1    Alice    162                               Bob      213    Carl     18我想得到类似的输出# ?+ {9 T; `$ g( q4 Y
ID   Column_Name Column_Value1    Name        Alice1    Age         Name        Bob2    Age        Name        Carl3    Age       我知道我能做到这一点( sql摆弄    尝试 数据):
) ^1 t4 x0 @- q- y3 x& ]+ @select   U.ID,  unnest(array['Name','Age']) as Column_Name,  unnest(array[U.Name,U.Age::text]) as Column_Valuefrom Users as U但是,在不显式指定列名的情况下,有什么方法可以执行表中所有列的操作呢?例如,对于SQL Server,我知道至少有两种方法可以执行此操作-
& k) `) B3 p1 B$ ?! p动态SQL或将数据转换为xml并解析xml- SQLServer:从列到行。PostgreSQL也可能有一些XML技巧吗?7 u# S$ U' N7 C
                                                                ) p: f1 Z0 S6 {( T
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则