从Postgres中提取的列列表中为值创建数组

时间:2016-11-04 05:32:38

标签: sql arrays postgresql aggregate-functions

我有以下一组表格:

id   column_a  column_b   column_c
1     t          f           t
2     t          f           f
3     f          t           f

当被查询时:

SELECT bool_or(column_a) AS column_a
     , bool_or(column_b) AS column_b
     , bool_or(column_c) AS column_c
FROM   tbl
WHERE  id IN (1,2);

将结果表示为:

column_a   column_b   column_c
 t          f            t

我想从结果中获取数组:Postgres中的[t,f,t]

请参考here之前的堆叠问题。

1 个答案:

答案 0 :(得分:3)

使用ARRAY constructor

SELECT ARRAY [bool_or(column_a)
            , bool_or(column_b)
            , bool_or(column_c)] AS arr_abc
FROM   tbl
WHERE  id IN (1,2);