je ne vais pas rentrer dans les détails de ma base, mais on peut résumer le problème comme suit:
Considérons une liste de voyageurs. Soient les champs suivants pour chaque voyageur :
id
nom
origine
destination
Les valeurs des champs origine et destination sont des codes postaux. Je voudrais afficher le nom de la commune. Pour cela, je crée une base nommée communes, avec les champs
code_postal
nom_commune
Il me faut faire deux fois la jointure pour que le nom de la ville d'origine et de destination s'affichent.
Pour l'instant ma requpete ressemble à ceci
CODE
SELECT * FROM voyageurs v, communes o, communes d WHERE v.origine=o.code_postal AND v.destination=d.code_postal
Cette requête n'affiche que le nom de la ville de destination (la dernière demandée). Dans ma boucle while mysql_fetch_assoc, je ne peux pas préciser o.code_postal ou d.code_postal, je peux seulement dire code_postal.
Je ne parviens pas à trouver la syntaxe correcte pour réaliser cette "double jointure".
PS : en fait j'ai le même problème dès qu'un champ d'une table possède un homonyme dans une autre table à joindre, mais j'ai résolu ce problème en ajoutant des préfixes aux noms des champs.