Syed Asad Abbas Zaidi Syed Asad Abbas Zaidi - 4 months ago 22
SQL Question

Create array for values from list of columns extracted in Postgres

I have following set of table:

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

Which when queried by:

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);

gives result as:

column_a column_b column_c
t f t

I wanted to get the array from the result as:
in Postgres.

Please have reference to the earlier stack question over here.


Use an 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);