将二维数组的第一个和第二个元素解除嵌套到两个一维数组中

问题描述 投票:0回答:1

我想取消这个 2D 数组的嵌套以分离 1D 数组。

当前表:

id ujvj
1 {{5.3, 0.05}, {3.5, 0.6}, {1.2,0.01}}

结果表:

id uj vj
1 {5.3, 3.5, 1.2} {0.05, 0.6, 0.01}

我找不到按元素位置取消多维数组嵌套,然后将结果放回到自己的一维数组中的方法。

postgresql multidimensional-array
1个回答
0
投票

对于给定的两个输出列:

SELECT d.id, a.*
FROM   data d
LEFT   JOIN LATERAL (
   SELECT array_agg(d.ujvj[d1][1]) AS uj
        , array_agg(d.ujvj[d1][2]) AS vj
   FROM   generate_subscripts(d.ujvj, 1) d1
   ) a ON d.ujvj IS NOT NULL
WHERE  d.id = 1;
© www.soinside.com 2019 - 2024. All rights reserved.