我有一个结果集,它返回 3 列,其中一列是 varchar,两列是数组,现在我需要合并数组列以创建一个不包含唯一元素的新数组。我尝试了不同的选项,但没有一个有效,有什么建议吗?
最佳答案
您可以连接数组并将取消嵌套
成行。然后您可以使用 distinct
获取唯一行,并使用 array_agg
将它们组合回一个数组:
select id
, array_agg(nr)
from (
select distinct id
, unnest(array[col1] || col2 || col3) nr
from t1
) sub
group by
id
关于sql - 合并来自两个不同列的两个对象数组,以在 postgresql 中创建一个新的唯一且非空对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50617834/