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

PostgreSQL Discussion :

Count pour deux tables


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 223
    Points : 54
    Points
    54
    Par défaut Count pour deux tables
    Bonjour à tous,

    Je veux créer un graphique qui contient les données d'une table faisant référence à une autre table. Exemple: la 1ère table contient l'historique des équipement et leurs types. La 2ème table contient la liste des équipements et leurs types. Alors, comment faire une requête SQL qui compte le nombre d'enregistrement de la 1ère table en mettant "0" (zéro) pour les équipements qui se trouvent dans la 2ème table et non dans la 1ère table.

    J'espère que j'étais clair dans ma question.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    il faudrait que tu donnes ton schéma de base (enfin uniquement ce qui est pertinent pour ta question), afin d'être sûr qu'on ait bien compris et qu'on puisse te répondre précisement.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 223
    Points : 54
    Points
    54
    Par défaut
    Voila un exemple:

    Table1 : Equipement
    Code type_equipement
    01 Energie
    02 Mécanique
    03 Electrique


    Table2 : mvt_equipement
    Code type_equipement date_réparation
    01 Energie 01/10/2005
    02 Energie 02/10/2005
    03 Electrique 03/10/2005


    Le résultat que je veux doit etre de type:
    Type_quipement Nbr_réparation
    Energie 2
    Mecanique 0
    Electrique 1

    Vous remarquez le "0" (zéro) dans mécanique: c'est ce que je veux avoir.

    Merci infiniment pout votre collaboration.

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Je passerais par une requête imbriquée qui me donnerait le nombre par type d'équipement, jointe par une jointure externe gauche à la table des équipements pour avoir tous les types ; le CASE est la touche finale qui permet d'afficher un total de 0 pour les équipements qui ne figurent pas dans l'historique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT e.type_equipement, CASE WHEN nb_code IS NULL THEN 0 ELSE nb_code END FROM equipement e LEFT OUTER JOIN (SELECT type_equipement, COUNT(*) as nb_code FROM mvt_equipement GROUP BY type_equipement) m USING (type_equipement)
    Attention, la requête n'est pas testée (il y a peut-être quelques petits problèmes de syntaxe), mais c'est pour donner l'esprit...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. [A-07]: Un formulaire pour deux tables
    Par jserge dans le forum IHM
    Réponses: 11
    Dernier message: 01/02/2009, 02h13
  2. Réponses: 2
    Dernier message: 22/10/2008, 11h51
  3. logical standby pour deux tables
    Par fouad77fr dans le forum Administration
    Réponses: 6
    Dernier message: 09/04/2008, 17h10
  4. requête count sur deux tables
    Par psychoBob dans le forum Requêtes
    Réponses: 7
    Dernier message: 13/06/2006, 15h12
  5. 2 Count() sur deux tables en jointures gauches
    Par Alexandre T dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/09/2003, 16h53

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