Когда я запускаю только эту строку кода, я получаю ожидаемый результат 1:
sum(case when facilityname like '%AT%' then count(status) else 0 end) as AT_all_status
Однако, когда я запускаю несколько операторов case вместе, как показано в этом примере, все операторы case возвращают NULL:
sum(case when facilityname like '%AT%' then count(status) else 0 end) as AT_all_status,
sum(case when facilityname like '%AT%' and status in ('Current','Approved') then count(status) else 0 end) as AT_approved_current,
sum(case when facilityname like '%CZ%' then count(status) else 0 end) as CZ_all_status,
sum(case when facilityname like '%CZ%' and status in ('Current','Approved') then count(status) else 0 end) as CZ_approved_current,
sum(case when facilityname like '%FGE%' then count(status) else 0 end) as FGE_all_status,
sum(case when facilityname like '%FGE%' and status in ('Current','Approved') then count(status) else 0 end) as FGE_approved_current,
sum(case when facilityname like '%FRA%' then count(status) else 0 end) as FRA_all_status,
sum(case when facilityname like '%FRA%' and status in ('Current','Approved') then count(status) else 0 end) as FRA_approved_current
Когда они на самом деле должны возвращать свои собственные числа и делать это при запуске в одиночку, есть ли здесь поведение оператора case, которого мне не хватает?