如何将行值转换为数组?

时间:2016-05-18 20:39:07

标签: arrays postgresql

如何从Postgresql表中多行的值中选择值插入数组。例如,我有一个包含公司行的表,我想将多个公司合并为另一个表的单个数组值?

我试过了:

Insert into id_companies
select individual, company_name
from company_info.

Company_name是表charvar(100)中的company_info类型,表charvar(100)[]中的类型为id_companies

1 个答案:

答案 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行。