我有以下一组表:
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
我想从结果中获取数组:[t,f,t]
在 Postgres 中。
请参考之前的堆栈问题here https://stackoverflow.com/questions/40415401/aggregate-boolean-values-to-true-if-any-of-the-source-columns-is-true/40415454.
Use an 数组构造函数 https://www.postgresql.org/docs/current/static/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS:
SELECT ARRAY [bool_or(column_a)
, bool_or(column_b)
, bool_or(column_c)] AS arr_abc
FROM tbl
WHERE id IN (1,2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)