【发布时间】:2017-08-11 06:34:18
【问题描述】:
我有一张桌子table1,如下所示
+----+------+------+------+------+------+
| id | loc | val1 | val2 | val3 | val4 |
+----+------+------+------+------+------+
| 1 | loc1 | 10 | 190 | null | 20 |
| 2 | loc2 | 20 | null | 10 | 10 |
+----+------+------+------+------+------+
需要将 val1 到 val4 组合成一个新列 val,每个列都有一行,这样输出如下所示。
注意:- 我拥有的数据有 val1 到 val30 -> 即。每行 30 列需要转换成行。
+----+------+--------+
| id | loc | val |
+----+------+--------+
| 1 | loc1 | 10 |
| 1 | loc1 | 190 |
| 1 | loc1 | null |
| 1 | loc1 | 20 |
| 2 | loc2 | 20 |
| 2 | loc2 | null |
| 2 | loc2 | 10 |
| 2 | loc2 | 10 |
+----+------+--------+
【问题讨论】:
标签: sql postgresql unpivot