IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

"not in" ne fonctionne pas????


Sujet :

Langage SQL

  1. #1
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut "not in" ne fonctionne pas????
    je voudais savoir pourquoi cette requete imbrique ne retourne rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select empno
    from emp
    where empno not in (Select distinct Mgr 
                                     form emp);
    MGR = numero des employés qui sont des chef
    Empno = numéro des employés

    par contre la requete suivante retourne des lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select empno
    from emp
    where empno not in (1254,368,9874);
    1254,368,9874 sont les valeurs retourné par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select distinct Mgr 
    form emp;
    Merci pour vos aides
    @sali

  2. #2
    Membre actif
    Avatar de MashiMaro
    Profil pro
    Inscrit en
    Février 2003
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 180
    Points : 213
    Points
    213
    Par défaut
    Lorsque tu as une colonne avec des null dedans, le "not in" réagit bizarrement. Privilégie le "not exists"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select empno 
    from emp A
    where not exists (Select null form emp B
           where A.empno=B.Mgr);
    MashiMaro

    L'homme sage apprend de ses erreurs, l'homme très sage apprend des erreurs des autres.

  3. #3
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    J'ai déjà rencontré ce problème tu peut le résoudre comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select empno
    from emp
    where empno not in (Select distinct Mgr
                                     form emp where Mgr is not null);
    Ce cas se présente chaque fois que le champ présent dans le not in () accepte des valeur NULL et pas le champ cible.
    ici, je suppose que empno ne peut pas être null mais mgr si
    7 fois à terre, 8 fois debout

  4. #4
    Membre régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    Par défaut
    merci beaucoup pour vos aides les gars
    @+Sali

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requête avec NOT IN qui ne fonctionne pas
    Par happyaccess dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/03/2013, 23h53
  2. Fonction Quoted printable qui ne fonctionne pas.
    Par leCcsympas dans le forum C
    Réponses: 3
    Dernier message: 13/01/2007, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo