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

Langage PHP Discussion :

Join à triple niveau


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 25
    Par défaut Join à triple niveau
    Hello, débutant en "JOIN" je me casse les dents sur un JOIN impossible à réaliser, après plusieurs heures de test et de recherche je me permets de chercher un peu d'aide ici :

    J'ai une table MATCH (id - idClub)
    J'ai une table CLUB (id - idChampionnat)
    J'ai une table CHAMPIONNAT (id)

    Admettons que dans match (les matchs que j'ai vu) y a 40 lignes. J'ai assisté à 40 matchs.

    Comment récupérer le nombre de championnats différents que j'ai vu ?

    En français ça serait : sélectionner le nombre de championnats d'où font partie les clubs qui ont disputé des matchs que j'ai vu.

    (Un match contient 2 clubs, normal A contre B, chaque club est rattaché uniquement à un 1 championnat, les deux clubs pouvant être du même championnat)

    Merci par avance ! Ne souhaitant pas juste copier coller si vous avez une mini phrase d'explication de votre code je suis preneur pour comprendre et réaliser les prochaines jointures tout seul.

    P.S : si jamais ce n'est pas assez clair, par exemple j'ai pu voir 30 matchs de Strasbourg, 5 matchs de l'équipe de France et 5 matchs du village du coin, ça ferait donc 3 championnat (Ligue 2, International, National 1) [exemples bidons donnés au pif

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Comment récupérer le nombre de championnats différents que j'ai vu ?
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL COUNT(DISTINCT club.idChampionnat) -- 3. ... et on compte les idChampionnat distincts
    FROM match -- 1. Pour chaque match...
    INNER JOIN club ON match.idClub = club.id -- 2. ... on récupère les clubs et leur idChampionnat...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 25
    Par défaut
    Bonjour et merci beaucoup, ça marche très bien mais j'avoue que je n'ai pas totalement compris la logique

    Je vais me pencher dessus en détail en modifiant à chaque étape pour suivre la logique.

    Merci !

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Pour bien comprendre exécute la requête sans l'agrégation, c'est-à-dire en faisant un SELECT ALL * à la place du COUNT(DISTINCT club.idChampionnat), regarde le résultat obtenu, et applique toi-même le COUNT(DISTINCT club.idChampionnat)

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

Discussions similaires

  1. Meilleur qu'un triple JOIN?
    Par Ali Kent dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/12/2014, 16h04
  2. doublon au niveau de Merge Join
    Par kssillati dans le forum Visual Studio
    Réponses: 1
    Dernier message: 27/01/2011, 10h35
  3. Débutant : INNER JOIN triple le résultat ?
    Par Totanne dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/10/2007, 12h29
  4. Creer un role au niveau server
    Par Mouse dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/05/2003, 15h56
  5. Elément de niveau supérieur dans un menu
    Par pascalT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/03/2003, 09h39

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