Partage
  • Partager sur Facebook
  • Partager sur Twitter

afficher 0 avec un count

Sujet résolu
    31 août 2010 à 23:14:44

    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. :euh:
    comment je peux faire pour qu'il m'affiche tout;
    Aidez moi svp!
    et merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      1 septembre 2010 à 3:37:13

      bonjour,
      avec cette requête vous n'aurez jamais 0.
      Pourquoi?
      Votre WHERE extrait les enregistrements à valeur 'faible'.
      Il appartiennent à un groupe Intitule_segment.
      Donc pour chaque groupe vous allez avoir dans COUNT, donc nbfaible, au minimum 1 ...
      Il me semble qu'il vous faut quelque chose comme ça :
      SELECT designation, IFNULL(SUM(qte),0)
      FROM produits p LEFT JOIN ligcdes l
      ON p.id_produit = l.id_produit
      GROUP BY designation
      HAVING IFNULL(SUM(qte),0) = 0;
      

      Que fait ma requête? Afficher les produits qui ont été commandé en qte 0 donc non commandés.
      Comment? Une jointure externe entre 2 tables pour avoir tous les enregistrements et quand un champ est NULL je le remplace par 0 et je fais ma somme et je ne garde que les 0.
      Il me semble que c'est à partir de cet exemple que pourriez trouver votre solution.
      MAIS si vous voulez le compte des enregistrements qui ne sont pas 'faible' alors la solution sera tout autre.
      • Partager sur Facebook
      • Partager sur Twitter
        4 septembre 2010 à 13:37:29

        Finalement j ai fais deux boucles :
        une qui me liste les segment et une autre qui me compte le nbre de faible dans chaque segment comme ça quand count ne trouve aucun elle renvoie 0
        • Partager sur Facebook
        • Partager sur Twitter

        afficher 0 avec un count

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown