Probleme Requette SQL

Probleme Requette SQL - SQL/NoSQL - Programmation

Marsh Posté le 29-10-2006 à 17:30:57    

Bonjour,
J'ai fait cette requette, mais ça marche pas !
 
SELECT id, nom,
FROM table2
WHERE id
IN (  
SELECT idL
FROM table3
WHERE idA =  '2' )
 
 
MySQL a répondu:
 
 
#1064 - Erreur de syntaxe près de 'SELECT idLogo FROM assoclogo WHERE idAssoc =  '2' ) LIMIT 0, 30' à la ligne 5 Dans ma base DSL, j 'ai 3 tables :table1 (idA,nom)table2(idL,nom)table3(id,idA,idL).Si quelqu'un me trouve l'erreur ça sera gentil de sa part ! Merci


---------------
polytech'Grenoble
Reply

Marsh Posté le 29-10-2006 à 17:30:57   

Reply

Marsh Posté le 29-10-2006 à 17:47:21    

Quelle version de MySQL ? Tu n'as peut-être pas droit au sous-requête, et dans ce cas fait une jointure.
 
edit : supporté à partir de la version 4.1
http://dev.mysql.com/doc/refman/5.0/fr/subqueries.html


Message édité par pikti le 29-10-2006 à 17:49:05
Reply

Marsh Posté le 29-10-2006 à 17:54:29    

j ai la vesrsion : 4.0.15


---------------
polytech'Grenoble
Reply

Marsh Posté le 29-10-2006 à 17:55:30    

Merci pour ton aide
 
tu sais, meme si je fs  
$sql = 'SELECT
             idL, nom  
           FROM
             table2  
           WHERE  
             idL IN  
                   (SELECT
                      idL
                    FROM
                     table3
                   );
ça marche pas .
 
 
et si je fs $sql = 'SELECT
             idL, nom  
           FROM
             table2  
           WHERE  
             idL IN  
                   (1,2,3,4); ça marche


---------------
polytech'Grenoble
Reply

Marsh Posté le 29-10-2006 à 18:21:16    

Ta version de mySql ne doit pas supporter les sous-requêtes.
 
Ta première requête peut être réécrite avec une jointure :)
 
SELECT t2.id, t2.nom
FROM table2 t2, table3 t3
WHERE t2.id = t3.idL
AND t3.idA = '2';


Message édité par Beegee le 29-10-2006 à 18:21:35
Reply

Marsh Posté le 29-10-2006 à 18:25:30    

oui ça marche
Merci bcp, si tu es près de moi, je te serre entre mes bras , lol


---------------
polytech'Grenoble
Reply

Sujets relatifs:

Leave a Replay

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