我需要类似于unnest()
的东西,但是要取消嵌套到列而不是行。
我有一个包含id列和array列的表。我如何取消嵌套到列的数组?具有相同ID的数组始终具有相同的数组长度。
编辑:我正在寻找可与任何长度的数组一起使用的查询
SELECT ???? FROM table WHERE id=1;
id | array array1 | array2 | ... | arrayn
---+---------- -------+--------+-----+-------
1 | {1, 2, ..., 3} -> 1 | 2 | ... | 3
1 | {4, 5, ..., 6} 4 | 5 | ... | 6
2 | {7, 8, ..., 9}
有人知道吗?
答案 0 :(得分:1)
这不是逻辑吗?
select array[1] as array1, array[2] as array2
from t
where id = 1;
SQL查询返回一组固定的列。您不能有一个常规查询有时返回两列,有时返回一或三。实际上,这就是使用数组的原因之一-它使您可以灵活地拥有可变数量的值。