Erreur SQL 1064 : Requête imbriquée avec jointure !!!

patchankito
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 20:41

Salut les gens,

voilà j'ai un problème sur cette requête :

SELECT V.photo1, V.km, V.prix, M.nom_modl as model FROM modele M, vehicules V WHERE V.ID IN (SELECT V.ID FROM vehicules V LEFT OUTER JOIN securite S ON S.ID = V.id_securite LEFT OUTER JOIN opt O ON O.ID = V.id_option LEFT OUTER JOIN confort C ON C.ID = V.id_confort WHERE V.id_marque = 31 ) AND M.ID = V.id_modele ORDER BY V.prix ASC

L'erreur me dit qu'il y a un problème de syntaxe, alors que les 2 select séparés marchent très bien.
Est que ça viens de ma version MySQL ou d'un formatage des données pour le IN ????

Merci d'avance pour votre aide !!

Mammouth du PHP | 19672 Messages

30 janv. 2006, 21:04

Quelle version de MySQL ? Les requêtes imbriquées ne sont supportées que depuis la version 4.1 me semble-t-il ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

patchankito
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 21:07

Voilà la version : MySQL 3.23.58

Mais le truc c'est que les deux requêtes séparées marchent très bien....autant

SELECT V.ID FROM vehicules V LEFT OUTER JOIN securite S ON S.ID = V.id_securite LEFT OUTER JOIN opt O ON O.ID = V.id_option LEFT OUTER JOIN confort C ON C.ID = V.id_confort WHERE V.id_marque = 31

que celle là.....

SELECT V.photo1, V.km, V.prix, M.nom_modl as model FROM modele M, vehicules V WHERE V.ID IN (1,2,5) AND M.ID = V.id_modele ORDER BY V.prix ASC


C'est pour ça je comprends pas où est l'erreur !

patchankito
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 21:09

AH OK !! je viens de comprendre ce que tu m'as répondu !!!

Je peux pas imbriquer mes deux requetes ensembles à cause de ma version ancestrale de MySQL....

Ben merci l'ami.....

Mammouth du PHP | 19672 Messages

30 janv. 2006, 21:15

Tu pourrais peut-être t'en sortir quand même avec une clause HAVING, pas certain à 100% de mon coup, mais à vérifier :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: