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

Erreur SQL 1064 : Requête imbriquée avec jointure !!! - SQL/NoSQL - Programmation

Marsh Posté le 30-01-2006 à 19:43:12    

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 !!

Reply

Marsh Posté le 30-01-2006 à 19:43:12   

Reply

Marsh Posté le 05-11-2008 à 12:16:46    

+1 meme soucis avec

Code :
  1. select id from table where EMAIL IN(select EMAIL from table group by EMAIL having count(id)>1)


mysql 5 sur 1and1


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 05-11-2008 à 15:57:11    

patchankito > N'utilise pas deux fois des alias identiques pour deux tables différentes. 10 contre 1 que c'est ça ton problème.
 
PS : et je vois pas à quoi sert ton IN une bête jointure donnera rigoureusement le même résultat
 
grosbin > normal, t'as un having count() qui porte sur une requête qui ne fait pas de count(). Avec Oracle ou SQL Server en tout cas, ça ne peut pas marcher, j'en déduis que c'est donc pareil avec MySQL.
(d'autant que t'as une façon bien plus explicite d'écrire ta sous-requête, et sans nécessiter le having)

Reply

Marsh Posté le 05-11-2008 à 16:07:29    

La requete interne passe en mysql4 & 5
La syntaxe complète passe en mysql 5
cependant, si tu peux m'éclairer pour la faire en mysql4 je suis preneur :jap:
Le but, pour le rappeller est d'obtenir une liste de doublon, puis de retrouver individuellement chaque enregistrement


Message édité par grosbin le 05-11-2008 à 16:12:16

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 05-11-2008 à 18:41:23    

select id
from table t2
where (select count(*) from table t1 where t1.email = t2.email) > 1
 
ceci dit, mysql4 ne supporte les requetes imbriquée qu'à partir de la 4.1 il me semble


Message édité par MagicBuzz le 05-11-2008 à 18:42:34
Reply

Marsh Posté le 05-11-2008 à 19:07:21    

Exact erreur de syntaxe as well ..


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 05-11-2008 à 20:43:00    

y'a pas de solution si t'as mysql < 4.1
 
cependant... mysql 4.1... t'as ça sur un TO7 ?

Reply

Marsh Posté le 05-11-2008 à 21:21:07    

mwé en meme temps 3 min de php, récupérer le resultat de la premiere requete puis finaliser son traitement


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed