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

SQL Oracle Discussion :

Erreur avec NOT EXISTS : expression absente


Sujet :

SQL Oracle

  1. #1
    Battosaiii
    Invité(e)
    Par défaut Erreur avec NOT EXISTS : expression absente
    Bonjour,

    Lorsque j’exécute l'expression SQL suivante j'ai une erreur expression absente (ORA-00936) au niveau de Document doc dans le deuxieme SELECT en bas.

    Pourtant si j' exécute les 2 SELECT séparément je n'ai pas d'erreurs. Pourquoi alors j'ai cette erreur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select DISTINCT j1.jed_id_envoi
    from journal_envoi_document j1,journal_envoi_document j2, Document doc
    where j1.JED_ID_DOCUMENT_ENVOI = j2.JED_ID_DOCUMENT_ENVOI 
    and j1.JED_ID_DOCUMENT_ENVOI = doc.ID_DOCUMENT_ENVOI
    and j2.jed_statut in ('2','3','4')
    and j1.JED_DATE_SOUMISSION+ 400 >  CURRENT_DATE
    and doc.ENVOI_MSG_SEC = '1'
    AND NOT EXIST
    (Select j.jed_id_envoi
    FROM journal_envoi_document j, Document doc, Ms_Autorisation_Envoi ms
    where j.JED_ID_DOCUMENT_ENVOI = doc.ID_DOCUMENT_ENVOI
    and doc.NOIP = ms.AEN_NIP)
    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Avant d'aller plus loin, est-ce bien NOT EXIST que tu testes ou NOT EXISTS (qui est la bonne orthographe) ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    cette fois ci je dois bien admettre que l'orthographe est importatnte

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    NOT EXISTS nécessite généralement de corréler la sous-requête à la requête principale, donc plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT DISTINCT j1.jed_id_envoi
      FROM journal_envoi_document j1,journal_envoi_document j2, Document doc
     WHERE j1.JED_ID_DOCUMENT_ENVOI = j2.JED_ID_DOCUMENT_ENVOI 
       AND j1.JED_ID_DOCUMENT_ENVOI = doc.ID_DOCUMENT_ENVOI
       AND j2.jed_statut IN ('2','3','4')
       AND j1.JED_DATE_SOUMISSION+ 400 >  CURRENT_DATE
       AND doc.ENVOI_MSG_SEC = '1'
       AND NOT EXISTS (SELECT 1
                         FROM Ms_Autorisation_Envoi ms
                        WHERE doc.NOIP = ms.AEN_NIP)

  5. #5
    Battosaiii
    Invité(e)
    Par défaut
    C'était un probleme d'orthographe !

    skuatamad : ta remarque est interessante.

Discussions similaires

  1. sql requête avec NOT EXISTS
    Par wang_xue dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/10/2007, 19h48
  2. Requête avec NOT EXISTS
    Par lodan dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/07/2007, 10h16
  3. [mysql 3.23] erreur avec NOT IN
    Par helje dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/04/2007, 22h51
  4. [SQL Server] Probleme avec not exists
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2006, 16h51
  5. Requète avec NOT EXISTS
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 23/09/2003, 15h20

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