Inner Join sur quatre tables ?

thierry8

WRInaute accro
Bonjour,

je ne sais pas du tout comment procéder avec un inner joint pour lier 4 tables ! Je fais appel à vous !!

Auriez-vous un exemple quelconque permettant d'illustrer cela ?

Le but serait donc à partir d'une info, arrivé à un résultat (logique)..
mais cela en passant par trois tables...

exemple de structuration très simple:
TABLE1
id_tab1
id_asuivre_tab2

TABLE2
id_tab2
id_asuivre_tab3

TABLE3
id_tab3
id_asuivre_tab4

TABLE4
id_tab4
information


On connait donc l'id de la TABLE 1 et l'on souhaite l'information de la table 4


La question n'est pas de savoir si cela est utile ! Car cette structure ne représente absolument pas un cas réelle !

En revanche ceux qui sont connaisseur peuvent peut être me donné leur avis quand à la lourdeur d'utiliser un tel système ?!

Merci a tous de votre patience.
 

STFprod

WRInaute occasionnel
euh, les jointures à 4 tables sont sérieusement à éviter avec mysql, t'as aucun moyen de faire plus simple ?

Tu ne peux pas dupliquer l'info dans plusieurs tables pour éviter une jointure ?
 

siddhy

WRInaute discret
Salut,

Normalement tu suis les liaisons et ça passe :
Code:
SELECT * FROM TABLE1 
INNER JOIN TABLE2 ON (id_asuivre_tab2=id_tab2)
INNER JOIN TABLE3 ON (id_asuivre_tab3=id_tab3)
INNER JOIN TABLE4 ON (id_asuivre_tab4=id_tab4)

( si tous les id sont unique dans chaque table..)

>>STFprod : Je ne savais pas que les jointures à plusieurs tables étaient à proscrire. Tu aurais un lien pour voir les explications de cette info?
 

thierry8

WRInaute accro
merci !
Donc à priori rien n'empeche de faire un inner join sur quatre tables !

Une question encore:
Lorsque l'on connait plusieurs numéro id (unique) (qui ne ce succèdent pas forcément), la seul solution pour une selection est bien le IN ?
autre chose de plus conseillé ?
 

Discussions similaires

Haut