IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Afficher les SUM à 0


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Afficher les SUM à 0
    Bonjour,

    Comment afficher les SUM qui ne retournent aucune taille ?

    Je m'explique avec comme exemple cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT S . id_serveur , SUM( V.taille ) AS space
    FROM video AS V
    LEFT JOIN serveurs AS S ON S.id_serveur = V.id_serveur
    GROUP BY V.id_serveur
    Ma table serveurs contient 2 enregistrement (serveur 1 et serveur 2).

    Si il n'y a aucune vidéo pour le serveur 2 dans la table video, le GROUP BY ne m'affiche aucun résultat pour le serveur 2. Alors que je souhaiterai qu'il m'affiche tout simplement 0


    Si quelqu'un connait la technique, merci d'avance ^^

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 114
    Points : 128
    Points
    128
    Par défaut Left Outer Join
    Il faut inverser ta requête pour obtenir tous les serveurs et utiliser un OUTER JOIN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT s.id_serveur , SUM( IFNULL(V.taille,0) ) AS space
    FROM serveurs AS S
    LEFT OUTER JOIN video AS V ON V.id_serveur = S.id_serveur 
    GROUP BY V.id_serveur

  3. #3
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Encore qu'avec mysql le "OUTER" est facultatif. Sinon en gardant le même ordre il y avait le "RIGHT JOIN", mais le "LEFT" est plus courrant.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Oula j'avais pourtant cru avoir essayé en inversant la requête..

    M'enfin, ça fonctionne, merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 18h07
  2. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 12h22
  3. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 16h01
  4. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 10h33
  5. Afficher les bonnes facettes
    Par WormsHL-Groove dans le forum OpenGL
    Réponses: 3
    Dernier message: 26/08/2002, 22h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo