Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
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 20/02/2011, 00h39   #1
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Par défaut double jointure ?

Bonjour,

Mon problème est assez simple mais je ne sais pas si je peux le résoudre via des jointure ou une modification de la structure de ma BDD.

J'ai 2 table prepa et tag. Dans la table prepa j'ai 2 id de tag différents et je voudrais savoir si je peux récupérer en une requête les textes correspondant à ces id.
par exemple si j'ai dans la table prepa tag1=1 et tag2=2 est ce que je pourrais via jointure et alias les valeurs de ces id dans la table tag.
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 00h47   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 544
Points : 9 544
Si j'ai bien compris ton cas, il faut utiliser deux instances de la table tag :

Code :
1
2
3
4
SELECT *
FROM prepa P
  LEFT JOIN tag T1 ON P.tag1 = T1.tag
  LEFT JOIN tag T2 ON P.tag2 = T2.tag
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 01h08   #3
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
La requête ne plante pas donc tout à l'air de fonctionner, mais comment je récupère mes valeur après un mysql_fetch_assoc (désolé je n'ai jamais utilisé les instances y a t'il un tuto quelque part ? )
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 01h12   #4
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 544
Points : 9 544
Euh, il n'y a rien de spécial à faire, à part peut-être nommer les colonnes ?

Code :
1
2
3
4
SELECT P.id, T1.Texte AS Tag1, T2.Texte AS Tag2
FROM prepa P
  LEFT JOIN tag T1 ON P.tag1 = T1.tag
  LEFT JOIN tag T2 ON P.tag2 = T2.tag
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 01h31   #5
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Super merci (je m'étais planté dans le nomage des colonnes )
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web