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

PHP & Base de données Discussion :

Requête pour compter sur 3 tables


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 34
    Points
    34
    Par défaut Requête pour compter sur 3 tables
    Bonjour,
    Je dois réaliser une requête sur ces 3 tables :

    participants(num_participant,nom, prenom, ...)
    inscriptions(num_inscription, num_participant, num_activite, presence,...)
    activites(num_activite, designation, type, date,...)

    on me demande de réaliser un hit-parade des participants avec le nombre d'inscriptions.

    voici ou je suis arrêté avec la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT participants.num_participant, participants.nom, participants.prenom
     FROM participants
     INNER JOIN inscriptions ON inscriptions.num_participant = participants.num_participant
     INNER JOIN activites ON activites.num_activite = inscriptions.num_activite
     ORDER BY participants.nom
     LIMIT 0 , 30
    Voici le résultat :



    On se rapproche de l'objectif, reste à compter pour chaque participants en partant de celui qui a le plus d'inscriptions:

    Addoun : 6
    Aarab : 5
    Abboudi : 1
    Abras : 1

    Je pense à COUNT et GROUP BY mais je nage un peu, je vais des tests.

    Avez-vous une piste de solutions ?

    Merci +++

    Nicolas

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    Je pense à COUNT et GROUP BY
    Tu penses bien !

    Pour t'aider, va faire un tour chez SQLPro.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 34
    Points
    34
    Par défaut re
    Merci, merci ...
    mais je suis un peu perdu sur l'endroit ou placer COUNT et GROUP BY ??

    Merci +++

    Citation Envoyé par CinePhil Voir le message
    Tu penses bien !

    Pour t'aider, va faire un tour chez SQLPro.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT COUNT(*) AS total
    FROM participants
    INNER JOIN inscriptions ON inscriptions.num_participant = participants.num_participant
    INNER JOIN activites ON activites.num_activite = inscriptions.num_activite
    GROUP BY participants.nom

Discussions similaires

  1. Requête très longue sur une table très simple
    Par kragenskul dans le forum Requêtes
    Réponses: 6
    Dernier message: 16/06/2009, 14h28
  2. requête pour calculs sur lignes et classement
    Par GrandDeb dans le forum Requêtes
    Réponses: 9
    Dernier message: 11/05/2009, 11h01
  3. Compter sur 2 tables
    Par Elyric dans le forum ASP
    Réponses: 11
    Dernier message: 21/01/2008, 11h58
  4. Requête SQL : Jointure sur 3 tables - Bd Access 1997 & Delphi 7
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/12/2007, 09h57
  5. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 13h32

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