我有一个返回3列的结果集,其中一列是varchar,两列是数组,现在我需要合并数组列来创建一个非空的唯一元素的新数组。我尝试了不同的选项,他们正在工作,有什么建议吗?
答案 0 :(得分:1)
您可以将数组和unnest
连接成行。然后,您可以使用distinct
获取唯一行,并使用array_agg
将它们组合回数组:
select id
, array_agg(nr)
from (
select distinct id
, unnest(array[col1] || col2 || col3) nr
from t1
) sub
group by
id
答案 1 :(得分:0)
感谢你们的建议。我发现解决方案array_cat函数对我有用。