Exibir zero usando count (*) se nenhum resultado for retornado para um caso específico
Eu tenho uma consulta como essa que retorna o número de linhas para cada caso na cidade.
select
case edition_id
when 6 then 'DELHI'
when 50 then 'AHMEDABAD'
when 4 then 'HYDERABAD'
when 25 then 'KOLKATA'
when 51 then 'BANGALORE'
when 5 then 'MUMBAI'
when 24 then 'CHENNAI'
end as CITY,
count(*) as Total
from #tmptab1
group by edition_id
drop table #tmptab1
O resultado acaba por ser como
CITY Total
MUMBAI 1
DELHI 28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3
Portanto, se não houver linhas retornadas de uma cidade, essa cidade será omitida no resultado final
Quero resultado como
CITY Total
MUMBAI 1
DELHI 28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3
BANGALORE 0 -- if no result from bangalore display zero.
Como fazer isso ?
eu tentei
case count(*)>0 then count(*) else 0 end as Total
mas não funciona