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 :

compter le nombre de personne dans une table avec union


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut compter le nombre de personne dans une table avec union
    Bonsoir je vous explique mon problème dont je n'arrive pas a résoudre :

    j'ai une table manoeuvres avec les champs:
    • id_man
    • nom_man
    • date_man


    et une table membres avec les champs :
    • id_membres
    • nom
    • prenom


    et enfin une table presence_man qui recense les membres participants à la manoeuvre dont voici les champs:
    • id_presence_man // c'est la clef unique auto-incrémenté
    • id_presence_sp // contient id_membres (l'id de la personne inscrite a la manoeuvre)
    • id_manoeuvre // contient l'id_man (l'id de la manoeuvre a laquelle la personne est inscrite)


    A présente j'essaye de créer un requête qui m'affiche toutes les manœuvres de la tables manoeuvres ainsi que le nombres de participants à chaque manoeuvres, et donc il se peu que il n'y ai aucun inscrit a une ou des manoeuvres, donc pour ce faire j'ai crée cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT id_man, nom_man, count(DISTINCT presence_man.id_presence_sp) AS nbr_present FROM manoeuvres RIGHT OUTER JOIN presence_man ON manoeuvres.id_man = presence_man.id_manoeuvre'
    Mais rien n'y fait je n'obtient que la liste des manœuvres auxquelles des gens sont inscrit. Les manoeuvres ou personne n'est inscrit n'apparaissent pas !
    Je pense que c'est une histoire de Left ou Right join mais je ne comprend pas, si vous pourriez me donner un coup de main je vous en remercie d'avance.

  2. #2
    Membre habitué Avatar de Adenora
    Femme Profil pro
    Développeuse ABAP
    Inscrit en
    Octobre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeuse ABAP

    Informations forums :
    Inscription : Octobre 2008
    Messages : 148
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Je te propose d'utiliser la clause "GROUP BY" pour grouper en fonction de l'id et du nom de la manœuvre. Cette clause permet d'être utilisée avec les fonctions d'agrégation (count, avg, max ...).
    Et pour compléter tout ça, il te reste à remplacer le "RIGHT" par "LEFT".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id_man, nom_man, count(DISTINCT presence_man.id_presence_sp) AS nbr_present FROM manoeuvres LEFT OUTER JOIN presence_man ON manoeuvres.id_man = presence_man.id_manoeuvre GROUP BY id_man, nom_man
    Je te laisse donc chercher de la documentation sur le LEFT et le GROUP BY

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    Merci pour ton aide. passe de bonne fétes

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

Discussions similaires

  1. Compter le nombre d'enregistrements dans une table
    Par youhibadelphi dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/06/2009, 20h30
  2. Compter le nombre de vide dans une table / variable
    Par diombo dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/05/2009, 00h32
  3. Compter le nombre d'enregistrement dans une table selon un critere
    Par Angelo91 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 18/08/2008, 12h05
  4. [SQL] Compter le nombre d'occurences dans une table par valeur
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/04/2008, 17h22
  5. Compter le nombre de colonne dans une table
    Par Coin dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/12/2006, 16h03

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