Afficher 0 avec un count

Résolu
LailaMsaadi Messages postés 19 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 24 décembre 2010 - 31 août 2010 à 23:49
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 1 sept. 2010 à 14:25
bonsoir, je sais que ce sujet est très fréquent dans les forums mais je n'ai pas trouvé de solution adapaté.
Mon problème est très simple, sur ma table recommandations j'effectue la requête suivant :


SELECT COUNT(*) AS nbfaible, Intitule_segment FROM recommandations WHERE (Risque = \'Faible\') GROUP BY Intitule_segment;


mais il n'affiche pas les enregistrements Intitule_segment où nbfaible = 0.
comment je peux faire pour qu'il m'affiche tout;
Aidez moi svp!
et merci d'avance

4 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
1 sept. 2010 à 08:30
euh.. c'est normal puique ton Where filtre les Intitule_segment..
le plus simple (mais pas optimal) est de le faire en deux requetes.. La premiere que tu as trouvée, la seconde qui te liste tous les Intitule_segment et tu boucles sur celle-ci pour savoir si ce même Intitule_segment se trouve dans la première requete.
Tu as compris ?
S.

PS: Je sais c'est pas optimal !! LOL.. pour les raleaurs de services, dont je fais parti
3
LailaMsaadi Messages postés 19 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 24 décembre 2010
1 sept. 2010 à 13:22
oui j ai très bien compris!
d'aillleurs c'est la solution que j'ai trouvé hier soir mais la mnt tu me la confirmes merci beaucoup
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
1 sept. 2010 à 14:04
Salut,

et tu boucles sur celle-ci pour savoir si ce même Intitule_segment se trouve dans la première requete

Si j'ai bien compris la question, ce soucis se règle avec un simple UNION :
SELECT COUNT(*) AS nbfaible, Intitule_segment FROM recommandations WHERE (Risque = \'Faible\') GROUP BY Intitule_segment UNION SELECT 0 AS nbfaible, Intitule_segment FROM recommandations WHERE (Risque != \'Faible\') GROUP BY Intitule_segment;
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
1 sept. 2010 à 14:25
Mouais.. justement je voulais éviter ça.. Trop compliqué à expliquer mais facile en copier coller si on ne veut pas chercher à comprendre.. LOL !!

J'aurais juste mis un SELECT Distinct 0 AS nbfaible, Intitule_segment
S.
0
Rejoignez-nous