[MySQL] Jointure à 5 tables
Bonjour @ tous,
J'ai 1 base MySQL dans laquelle j'ai 5 tables où table_index référence un élément en fonction de son type (valué à 2, 3, 4 ou 5).
table_index
- id
- type
- id_element
table1
- id
- nom
- date
table2
- id
- nom
- date
table3
- id
- nom
- date
table4
- id
- nom
- date
Je veux faire un SELECT table_index en triant par la date de l'élément (provenant soit de table1, table2, table3 ou table4).
Voici ce que j'ai essayé mais ça ne marche pas, qu'est-ce qui ne va pas ???
Code:
1 2 3 4 5 6 7
|
SELECT table_index.id, id_type, id_element, table1.nom, table1.date, table2.nom, table2.date, table3.nom, table3.date, table4.nom, table4.date FROM table_index
INNER JOIN table1 ON (table_index.id_type=2 AND table_index.id_element = table1.id)
INNER JOIN table2 ON (table_index.id_type=3 AND table_index.id_element = table2.id)
INNER JOIN table3 ON (table_index.id_type=4 AND table_index.id_element = table3.id)
INNER JOIN table4 ON (table_index.id_type=5 AND table_index.id_element = table4.id)
ORDER BY table1.date, table2.date, table3.date, table4.date DESC; |
jointure entre 5 table Recherche :
bonjour tt le monde: svp
j'ai 5 table :
RC_PP, INSCR, PORTE_S, COMPAYS, RAD_INS
je ve trouver les enregistrement des champs :
NPP_F, AL_INS_F, NRC, C_ACTIV, LCOM_F
qui ce trouve ds les 5 table, sans les enregistrement qui existe dans la table RAD_INS
j'ai fé comme suit mais ca ne marche pas :
Code:
1 2 3 4 5 6 7 8
| SELECT NPP_F, AL_INS_F, NRC, C_ACTIV
FROM RC_PP, INSCR, PORTE_S, COMPAYS, RAD_INS
WHERE C_ACTIV LIKE '%601301%'
AND RC_PP.NRC_PP = INSCR.NRC
AND PORTE_S.C_INSC= INSCR.C_INSC
AND COMPAYS.C_COM = INSCR.C_REG
AND INSCR.C_INSC = RAD_INS.C_INSC
AND INSCR.C_INSC NOT EXISTS IN RAD_INS.C_INSC |
merci pour votre aide d'avance.