Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 14h29   #1
Membre actif
 
Inscription : mai 2004
Messages : 725
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 725
Points : 193
Points : 193
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 :
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
Battosaiii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 14h33   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 445
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 445
Points : 7 532
Points : 7 532
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
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 29/06/2011, 14h58   #3
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

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

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
cette fois ci je dois bien admettre que l'orthographe est importatnte
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 29/06/2011, 16h06   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
NOT EXISTS nécessite généralement de corréler la sous-requête à la requête principale, donc plutôt comme ceci :
Code :
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)
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 29/06/2011, 16h18   #5
Membre actif
 
Inscription : mai 2004
Messages : 725
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 725
Points : 193
Points : 193
C'était un probleme d'orthographe !

skuatamad : ta remarque est interessante.
Battosaiii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h38.


 
 
 
 
Partenaires

Hébergement Web