假设有一个被定义为以下结构的表格:
CREATE TABLE test_values(name TEXT, values INTEGER[]);
...以及以下数值:
| name | values |
+-------+---------+
| hello | {1,2,3} |
| world | {4,5,6} |
我正在尝试找到一个能返回以下结果的查询:
| name | value |
+-------+-------+
| hello | 1 |
| hello | 2 |
| hello | 3 |
| world | 4 |
| world | 5 |
| world | 6 |
我已经查阅了关于访问数组的上游文档,并尝试考虑使用unnest()
函数的解决方案会是什么样子,但是一直没有想到。
一个理想的解决方案应该易于使用,即使在除被扩展的数组之外还有大量列和没有主键的情况下也是如此。处理多个数组的情况并不重要。
select name, unnest(values) "value" from test_values;
这个语句不起作用吗? - bgoldst