par
zeus » 13 oct. 2005, 08:47
Dans ce cas là, il faut que tu fasses des LEFT JOIN. Le serveur de données va aller chercher dans la table à gauche de la jointure l'intégralité des lignes et va associer une ligne de la table de droite si elle existe. Si elle n'existe pas, il y aura des champs vide
Code : Tout sélectionner
SELECT fk1.cat,
fk1.id,
fk1.rub,
fk1.titre,
fk1.pseudom,
fk1.ville,
fk1.nomDestination1,
fk1.departement,
fk1.prix,
fk1.id,
DATE_FORMAT(fk1.date, '%d.%m.%y') date, SUBSTRING(fk1.description,1,200) AS description,
fk2.id_auto,
fk2.marques,
fk2.departement,
fk2.prix,
fk2.date,
fk3.id_prod,
fk3.id_auto1
FROM (fk_produits as fk1 LEFT JOIN fk_auto as fk2 ON fk1.id = fk3.id_prod) LEFT JOIN inter as fk3 ON fk2.id_auto = fk3.id_auto1
Dans cette requete, l'intégralité de la table fk1 sera retournée, le lignes de la table fk2 qui ont une reférence dans la table fk1. Et même chose pour fk3, avec référence dans fk2
Dans ce cas là, il faut que tu fasses des LEFT JOIN. Le serveur de données va aller chercher dans la table à gauche de la jointure l'intégralité des lignes et va associer une ligne de la table de droite si elle existe. Si elle n'existe pas, il y aura des champs vide
[code]SELECT fk1.cat,
fk1.id,
fk1.rub,
fk1.titre,
fk1.pseudom,
fk1.ville,
fk1.nomDestination1,
fk1.departement,
fk1.prix,
fk1.id,
DATE_FORMAT(fk1.date, '%d.%m.%y') date, SUBSTRING(fk1.description,1,200) AS description,
fk2.id_auto,
fk2.marques,
fk2.departement,
fk2.prix,
fk2.date,
fk3.id_prod,
fk3.id_auto1
FROM (fk_produits as fk1 LEFT JOIN fk_auto as fk2 ON fk1.id = fk3.id_prod) LEFT JOIN inter as fk3 ON fk2.id_auto = fk3.id_auto1 [/code]
Dans cette requete, l'intégralité de la table fk1 sera retournée, le lignes de la table fk2 qui ont une reférence dans la table fk1. Et même chose pour fk3, avec référence dans fk2