如何从Postgresql表中多行的值中选择值插入数组。例如,我有一个包含公司行的表,我想将多个公司合并为另一个表的单个数组值?
我试过了:
Insert into id_companies
select individual, company_name
from company_info.
Company_name
是表charvar(100)
中的company_info
类型,表charvar(100)[]
中的类型为id_companies
。
答案 0 :(得分:0)
使用array_agg
将多行聚合到一个数组中。
比较
SELECT
id
FROM
generate_series(1, 100) AS list(id);
将获得100行,
SELECT
array_agg(id)
FROM
generate_series(1, 100) AS list(id);
将获得包含100个元素的数组的1行。