Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2622 connectés 

 


Dernière réponse
Sujet : Mysql , problème avec NOT IN et NOT EXISTS
jultey

mrbebert a écrit a écrit :

Le WHERE doit aller après le LEFT JOIN
 
SELECT...
FROM...
LEFT JOIN...
WHERE...
 
Edit : en fait, tu dois fusionner les 2 where :
WHERE eleve.ele_actif=1 AND (classe.ele_ref_class IS NULL)  




 
OK merci ! Mais en fait, j'ai contourner le problème... Maintenant, y'a plus moyen de supprimer une classe avec un élève dedans... (enfin, j'me comprends, c'est le principal ).
 
En tout cas, merci pour votre aide  ;)


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
jultey

mrbebert a écrit a écrit :

Le WHERE doit aller après le LEFT JOIN
 
SELECT...
FROM...
LEFT JOIN...
WHERE...
 
Edit : en fait, tu dois fusionner les 2 where :
WHERE eleve.ele_actif=1 AND (classe.ele_ref_class IS NULL)  




 
OK merci ! Mais en fait, j'ai contourner le problème... Maintenant, y'a plus moyen de supprimer une classe avec un élève dedans... (enfin, j'me comprends, c'est le principal ).
 
En tout cas, merci pour votre aide  ;)

mrbebert

jultey a écrit a écrit :

SELECT eleve.ele_ref, eleve.ele_prenom, eleve.ele_nom  
FROM eleve  
WHERE ele_actif=1
    LEFT JOIN classe  
    ON ele_ref_classe=clas_ref  
    WHERE ele_ref_class IS NULL ;



Le WHERE doit aller après le LEFT JOIN
 
SELECT...
FROM...
LEFT JOIN...
WHERE...
 
Edit : en fait, tu dois fusionner les 2 where :
WHERE eleve.ele_actif=1 AND (classe.ele_ref_class IS NULL)

siewn

jultey a écrit a écrit :

 
La TODO ?? C'est quoi ?  




 
lol
TODO = TO DO = A FAIRE :-)

jultey

DLR a écrit a écrit :

ca fait partie de la TODO list de MySQL depuis un bail :/  




 
La TODO ?? C'est quoi ?  
 
 
Pour mon pb de requete, j'essaie avec un join :
 
 
SELECT eleve.ele_ref, eleve.ele_prenom, eleve.ele_nom  
FROM eleve  
WHERE ele_actif=1  
    LEFT JOIN classe  
    ON ele_ref_classe=clas_ref  
    WHERE ele_ref_class IS NULL ;
 
 
Mais j'obtiens une erreur... (j'avais jamais utilisé join avant , soyez indulgent)...
->
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'LEFT JOIN classe ON ele_ref_classe=clas_ref WHERE ele_ref_class IS NULL ; ' at line 1
 
 
Si quelqu'un voit rapidement d'ou ca peut venir...

DLR ca fait partie de la TODO list de MySQL depuis un bail :/
jultey

jultey a écrit a écrit :

 
 
Allez, je vais chercher...  




 
merci pour ce lien tres tres tres intéressant !!!  :jap:

z0rglub http://forum.hardware.fr/forum2.php3?post=17605&cat=10
jultey

youdontcare a écrit a écrit :

tu lis la doc :D histoire de voir si le select imbriqué a été implémenté.
 
sinon, la solution recommandée est de passer par une table temporaire (encore une fois, mysql.com).  




 
Allez, je vais chercher...

youdontcare

jultey a écrit a écrit :

Comment je fais alors ? Quelqu'un a une idée ??? :bounce:


tu lis la doc :D histoire de voir si le select imbriqué a été implémenté.
 
sinon, la solution recommandée est de passer par une table temporaire (encore une fois, mysql.com).

jultey

antp a écrit a écrit :

Il me semble que MySQL ne gère pas les Select imbriqués (du moins les versions avant la 4 ; pour cette dernière je ne sais pas)  




 
Comment je fais alors ? Quelqu'un a une idée ??? :bounce:

antp Il me semble que MySQL ne gère pas les Select imbriqués (du moins les versions avant la 4 ; pour cette dernière je ne sais pas)
jultey 'lut !
J'ai un petit (j'espère) problème de sql.
En asp sur mysql, j'ai une table d'élève qui ont en clés étrangère la référence d'une classe.
 
 
Dans un premier temps j'ai recupérer la liste des élèves qui ont une classes...  :)  
 
Maintenant j'aimerais récupérer les élèves qui n'ont pas de classes alors je pensais utiliser NOT IN, ca ne marche pas : :fou:  
 
SELECT ele_ref, ele_prenom, ele_nom
    FROM eleve  
        WHERE ele_actif=1  
        AND ele_ref NOT IN
           ( SELECT ele_ref  
                  FROM eleve, classe  
                       WHERE ele_ref_classe=clas_ref  
                       AND ele_actif=1
            )
 
me renvoit : :cry:  
 
SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'NOT ( SELECT ele_ref, ele_prenom, ele_nom FROM eleve WHERE ele_actif=1 AND ele_r' at line 1
 
 
Alors j'ai essayé avec NOT EXISTS, ca marche pas non plus...
 
Vous voyez d'ou vient le problème ?...

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR