我想取消这个 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} |
我找不到按元素位置取消多维数组嵌套,然后将结果放回到自己的一维数组中的方法。
对于给定的两个输出列:
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;