Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2011, 14h38   #1
Invité de passage
 
Homme
Débutant
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Débutant
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Problème de jointure sur deux tables

Bonjour,

Je débute et je me casse les dents sur un problème. Je souhaite développer un petit script de paris sportifs et mon problème est le suivant.

J’ai 3 tables : matches, journees, equipes, paris, resultats, user

Jpour afficher les grilles de paris j'ai besoin d'une requête qui me permette d'avoir pour chaque match en fonction d'une journée, la date, le nom de l'équipe jouant à domicile, le nom de l'équipe jouant à l'extérieur, plus les logos. Mes tables matches et equipes sont construites de cette manière :

Table 'matches'

id_match
date
equipe_dom
equipe_ext
journee

Table 'equipes'

id_equipe
nom
logo

Mon problème vient du fait que equipe_dom et equipe_ext renvoient toutes les deux à l'id_club dans la table clubs. Mes tables sont-elles bien construites ? Dois-je traiter le problème via une fonction php affichant le nom du club en fonction de son id ? J'ai essayé pas mal de choses sans succès...

Quelqu'un peu m'aider ?
machinbidule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 15h06   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par machinbidule Voir le message
J’ai 3 tables : matches, journees, equipes, paris, resultats, user
Euh... ça fait 6 tables non ?

Citation:
Mon problème vient du fait que equipe_dom et equipe_ext renvoient toutes les deux à l'id_club dans la table clubs. Mes tables sont-elles bien construites ?
Oui.

Il faut faire deux jointures sur la table des clubs.

Je te laisse chercher un peu, c'est plus formateur que de te donner la solution.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 15h08   #3
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 698
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 698
Points : 839
Points : 839
As tu regardé sur le forum ?

J'ai vu passé plusieurs discussions exactement sur le même sujet, et sur le même "type d'objet" (des matchs de foot ou autres).

Par ailleurs, lire les règles du forum ne serait pas à négliger.
il en est de même pour les cours disponibles sur le sites, en particulier sur les jointures
dehorter olivier est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 16h02   #4
Invité de passage
 
Homme
Débutant
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Débutant
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Oui ça fait bien 6 ! Faut peut-être que j'apprenne à compter pour commencer ! ;-).

Je n'avais pas vu le sujet sur le forum et effectivement il semble répondre à ma question...

Merci pour les liens et les conseils je vais regarder ça de près et vous ferai un retour.
machinbidule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 22h22   #5
Invité de passage
 
Homme
Débutant
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Débutant
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
J'obtiens finalement ce que je veux de cette façon :

Code :
1
2
3
4
SELECT E1.nom AS club_dom, E2.nom AS club_ext 
FROM equipes E1
INNER JOIN matches M ON E1.id_equipe = M.id_equipe_dom
INNER JOIN equipes E2 ON E2.id_equipe = M.id_equipe_ext
Peut-être avez-vous des commentaires sur la forme ?

Merci en tous cas pour l'aiguillage !
machinbidule est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h40.


 
 
 
 
Partenaires

Hébergement Web