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

Oracle Discussion :

Oracle 8 : NOT IN versus MINUS


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Par défaut Oracle 8 : NOT IN versus MINUS
    Bonjour,

    J'exécute 2 requêtes qui devraient me donner le même résultat.
    Les colonnes nnm1 et code_marche_national sont en CHAR(7).

    Requête 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SQL> SELECT nnm1
      2    FROM saga_marche
      3   WHERE nnm1 NOT IN ( SELECT  code_marche_national
      4                                        FROM  marche );
     
    aucune ligne sélectionnée
    Requête 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
     SELECT nnm1
       FROM saga_marche         
    MINUS
     SELECT  code_marche_national 
       FROM  marche;
     
    NNM1
    -------
    9988053
    9988066
    9988077
    9988093
    9999015
    9999945
    9999946
    9999998
    9999999
     
    9216 ligne(s) sÚlectionnÚe(s).
    Je ne comprends pas pourquoi le NOT IN ne fonctionne pas !
    Avez-vous une explication ?

    Merci.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    si la sous-requêtes retourne des valeurs NULL tu ne retourne rien puisque NULL n'est ni égale ni différent de lui-même

    essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL> SELECT nnm1
      2    FROM saga_marche
      3   WHERE NVL(nnm1,'XX') NOT IN ( SELECT  NVL(code_marche_national,'XX')
      4                                        FROM  marche );

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2009, 16h57
  2. [JasperServer][Oracle] Could not roll back Hibernate transaction
    Par CPI_en_mousse dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/05/2009, 16h56
  3. Réponses: 7
    Dernier message: 27/02/2008, 13h55
  4. [Oracle] Oracle : could not find driver
    Par Hug0_76 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/02/2007, 13h00
  5. Réponses: 14
    Dernier message: 23/08/2004, 07h53

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