Postgresql получает первое значение True для агрегированной переменной - PullRequest
0 голосов
/ 28 мая 2019

Допустим, у меня есть следующая таблица. Пожалуйста, рассмотрите все три версии:

Версия 1:

Aggr_ID     ID      boolean_value
123         123     False
123         124     True        
123         125     False           
123         126     True

Версия 2:

Aggr_ID     ID      boolean_value
123         123     True
123         124     False       
123         125     False           
123         126     False

Версия 3:

Aggr_ID     ID      boolean_value
123         123     False
123         124     False       
123         125     False           
123         126     False

Я хотел бы получить следующую таблицу для случаев 1 и 2:

Aggr_ID     boolean_value
123         True

и следующая таблица для случая №. 3

Aggr_ID     boolean_value
123         False

Идея состоит в том, что если в столбце boolean_value есть хотя бы один True, агрегированный идентификатор должен быть связан с True.

Я действительно не знаю, как решить эту проблему, поэтому, пожалуйста, извините за отсутствие моего кода.

1 Ответ

1 голос
/ 28 мая 2019

Вы можете использовать bool_or(), когда вы group by Aggr_ID:

select 
  Aggr_ID, 
  bool_or(boolean_value) boolean_value
from tablename
group by Aggr_ID
...