J'ai une requête comme celle-ci qui retourne le nombre de lignes pour chaque cas dans la ville.Afficher zéro à l'aide de count (*) si aucun résultat n'est renvoyé pour un cas particulier
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
Le résultat sort être comme
CITY Total
MUMBAI 1
DELHI 28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3
Donc, s'il n'y a pas de lignes renvoyées d'une ville, cette ville est omis dans résultat final
Je veux le résultat en
CITY Total
MUMBAI 1
DELHI 28
CHENNAI 1
KOLKATA 35
AHMEDABAD 3
BANGALORE 0 -- if no result from bangalore display zero.
Comment faire?
J'ai essayé
case count(*)>0 then count(*) else 0 end as Total
mais il ne fonctionne pas
d'accord de faire les villes d'une table normale. Cela signifie également que vous n'avez pas besoin de changer votre code lorsque vous voulez ajouter une nouvelle ville à l'avenir - il suffit d'ajouter un nouvel enregistrement à la table – Greg
mots ne peuvent décrire comment je suis reconnaissant .. merci beaucoup maître vikdor –