2016-11-04 29 views
2
提取列的列表

我有以下一组表的创建数值数组:从Postgres的

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之前的堆栈问题。

回答

2

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