我想知道有什么方法可以做到。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 解决方案: