Bonjour,
Je galère pour effectuer une requête avec des foreign_key. Le problème est qu'il ya des jointures imbriquées.
Dans la table 1 il y a des enregistrement qui font références à x enregistrements dans table2. Dans la table2, il y a des références vers des id des table3 et 4.
L'idée est de récupérer la liste des enregistrements de la table1 et des enregistrements associés à ce dernier. Exemple:
id_table1, nom_table1, prenom_table1, telephone_table2, champ1_table3, champ2_table3, champ1_table4, champ2_table4
table1
=====
id
nom
prenom
table1_has_table2
============
table1_id
table2_id
table2
=====
id
telephone
table3_id
table4_id
table3
=====
id
champ1
champ2
table4
=====
id
champ1
champ2
J'ai fait une super grosse requête pour ça, mais elle ne marche que s'il n'y a qu'un seul enregistrement dans la table1. Dès que j'en ajoute un autre, il me renvoi les infos de l'enregistrement 1 pour les tables 2,3 et 4:
Une idée sur la réalisation d'une telle requête ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select t1_id as t1_id,nom,prenom, t2.telephone as t2_tel, t3.champ1 as t3.champ2 as t3_champ2, t4.champ1 as t4.champ2 as t4_champ2, FROM table1 t1, table2 t2, table3 t3, table4 t4, table1_has_table2 t12 WHERE t2.id=t12.table2_id AND t2.table3_id=t3.id AND t2.table4_id=t4.id GROUP BY t1.id,t2.id,t3.id,t4.id;
Merci.
Partager