Учитывая, что у меня есть такая таблица
ID X
1 TRUE
1 FALSE
2 FALSE
2 FALSE
Я бы хотел добиться следующего результата:
ID BOOL_OR(X)
1 TRUE
2 FALSE
То есть я хочу GROUP BY ID
и агрегироватьлогические значения X
с использованием логического оператора OR.
В PostgreSQL есть bool_or()
, который я могу использовать следующим образом
with t1 as
(
select *
from (values (1, true)
, (1, false)
, (2, false)
, (2, false)) AS t1 (id, x)
)
select id, bool_or(x)
from t1
group by id;
-- results
ID BOOL_OR(X)
1 TRUE
2 FALSE
Тот же запрос в Snowflake SQL дает SQL compilation error: Invalid identifier BOOL_OR
, что неудивительно, поскольку в документации Snowflake для агрегатных функций нет списка BOOL_OR
.
Итак, у меня вопрос, есть ли другой альтернативный способ получить те же эффекты, что и в PostgreSQL bool_or
и bool_and
в Snowflake SQL?