一尘不染

如果任何源列为true,则将布尔值聚合为true

sql

假设我有下表:

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

从上表中,我要:

select rows from id = 1,2;

结果应为:

column_a   column_b   column_c
 t          f            t

如果定义的ID中的任何行对特定列都为true,则我们假设结果为true。


阅读 217

收藏
2021-03-08

共1个答案

一尘不染

使用聚合函数bool_or()

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

手册:

如果至少一个输入值是true,则为true,否则为false

2021-03-08