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 à l'essai
    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
    Points : 15
    Points
    15
    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 éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    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...
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre à l'essai
    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
    Points : 15
    Points
    15
    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 éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    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)
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

+ 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