Page 1 sur 1

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

Posté : 30 janv. 2006, 20:41
par patchankito
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 !!

Posté : 30 janv. 2006, 21:04
par Cyrano
Quelle version de MySQL ? Les requêtes imbriquées ne sont supportées que depuis la version 4.1 me semble-t-il ?

Posté : 30 janv. 2006, 21:07
par patchankito
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 !

Posté : 30 janv. 2006, 21:09
par patchankito
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.....

Posté : 30 janv. 2006, 21:15
par Cyrano
Tu pourrais peut-être t'en sortir quand même avec une clause HAVING, pas certain à 100% de mon coup, mais à vérifier :-k