Показать сообщение отдельно
Старый 06.06.2023, 12:17   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
если в поле flag будет true
хотя бы в одной из строк подлежащих группировке?
Код:
case when flag=true then null else points as fpoints
и вычисления делать по данному полю
Код:
case max(anser flag) =true then 0 else <вычисляем> end
а можно так (с вложенным запросом)
1.
Код:
select zoneid, max(flag) as maxf, min(flag) as minf, <вычисления>
from ...
group by zoneid
Цитата:
С этим запросом проблем нет
2.
Код:
select zoneid, maxf, minf, calc,
when maxf =false then calc else 0 end as calcf 
from ( -- смотри п. 1
       select zoneid, max(flag) as maxf, min(flag) as minf, <вычисления> as calc
       from ...
       group by zoneid
      ) as calc
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием