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 :

Syntaxe SQL incorrecte


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Syntaxe SQL incorrecte
    Bonjour,

    J’ai un problème de syntaxe dans la requête SQL ci-dessous que je n’arrive pas à expliquer (Erreur Oracle ORA-00928).

    Visiblement c’est la dernière ligne qui pose problème et plus précisément « AND T1.CODE_CLIENT <> 'CLIENT' »

    Ce qui est étonnant c’est que la syntaxe devient bonne lorsque je remplace « <> » par « = »

    Avez-vous une idée d’où ça peut venir ?

    Merci par avance.


    Syntaxe KO :

    SELECT DISTINCT T1.CODE_DIVISION_03, T1.CODE_RESEAU_03, T1.CODE_CLIENT, T2.CODE_SECTEUR_03, T2.COEF_CLIENT_SECTEUR, 'CLIENT' FROM
    (
    SELECT DISTINCT b.CODE_DIVISION_03, a.CODE_RESEAU_03, c.CODE_CLIENT FROM DW_RESEAU_03 a, DW_DIVISION_03 b, DW_CLIENT c
    ) T1
    INNER JOIN DW_CLIENT_SECTEUR_03 T2 ON T1.CODE_DIVISION_03 = T2.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T2.CODE_RESEAU_03 AND T1.CODE_CLIENT = T2.CODE_CLIENT
    LEFT JOIN MT_CLIENT_SECTEUR_03 T3 ON T1.CODE_DIVISION_03 = T3.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T3.CODE_RESEAU_03 AND T1.CODE_CLIENT = T3.CODE_CLIENT
    WHERE T3.CODE_DIVISION_03 IS NULL AND T1.CODE_CLIENT <> 'CLIENT'

    Syntaxe OK :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT DISTINCT T1.CODE_DIVISION_03, T1.CODE_RESEAU_03, T1.CODE_CLIENT, T2.CODE_SECTEUR_03, T2.COEF_CLIENT_SECTEUR, 'CLIENT' FROM
    (
     SELECT DISTINCT b.CODE_DIVISION_03, a.CODE_RESEAU_03, c.CODE_CLIENT FROM DW_RESEAU_03 a, DW_DIVISION_03 b, DW_CLIENT c
    ) T1
    INNER JOIN DW_CLIENT_SECTEUR_03 T2 ON T1.CODE_DIVISION_03 = T2.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T2.CODE_RESEAU_03 AND T1.CODE_CLIENT = T2.CODE_CLIENT
    LEFT JOIN MT_CLIENT_SECTEUR_03 T3 ON T1.CODE_DIVISION_03 = T3.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T3.CODE_RESEAU_03 AND T1.CODE_CLIENT = T3.CODE_CLIENT
    WHERE T3.CODE_DIVISION_03 IS NULL AND T1.CODE_CLIENT = 'CLIENT'
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Tu as essayé NOT( = ) pour voir ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Syntaxe NOT( = ) incorrecte
    Cela me génère une autre erreur de syntaxe ORA-00920 - Opérateur relationnel non valide.

    Voici la syntaxe que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT DISTINCT T1.CODE_DIVISION_03, T1.CODE_RESEAU_03, T1.CODE_CLIENT, T2.CODE_SECTEUR_03, T2.COEF_CLIENT_SECTEUR, 'CLIENT' FROM
    (
     SELECT DISTINCT b.CODE_DIVISION_03, a.CODE_RESEAU_03, c.CODE_CLIENT FROM DW_RESEAU_03 a, DW_DIVISION_03 b, DW_CLIENT c
    ) T1
    INNER JOIN DW_CLIENT_SECTEUR_03 T2 ON T1.CODE_DIVISION_03 = T2.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T2.CODE_RESEAU_03 AND T1.CODE_CLIENT = T2.CODE_CLIENT
    LEFT JOIN MT_CLIENT_SECTEUR_03 T3 ON T1.CODE_DIVISION_03 = T3.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T3.CODE_RESEAU_03 AND T1.CODE_CLIENT = T3.CODE_CLIENT
    WHERE T3.CODE_DIVISION_03 IS NULL AND T1.CODE_CLIENT NOT( = ) 'CLIENT'

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    !=

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    merci de lire et respecter les règles du forum

    ( = ) n'est pas un opérateur valide

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Euh c'était une expression conceptuelle le not (=) ...

    Il fallait comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NOT(T1.CODE_CLIENT  =  'CLIENT')

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut ERREUR ORA-00928: Mot-clé SELECT absent
    l'opérateur "!=" a l'air d'être accepté mais j'ai toujours la même erreur :

    --> "ORA-00928: Mot-clé SELECT absent"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT DISTINCT T1.CODE_DIVISION_03, T1.CODE_RESEAU_03, T1.CODE_CLIENT, T2.CODE_SECTEUR_03, T2.COEF_CLIENT_SECTEUR, 'CLIENT' FROM 
    ( 
     SELECT DISTINCT b.CODE_DIVISION_03, a.CODE_RESEAU_03, c.CODE_CLIENT FROM DW_RESEAU_03 a, DW_DIVISION_03 b, DW_CLIENT c 
    ) T1 
    INNER JOIN DW_CLIENT_SECTEUR_03 T2 ON T1.CODE_DIVISION_03 = T2.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T2.CODE_RESEAU_03 AND T1.CODE_CLIENT = T2.CODE_CLIENT 
    LEFT JOIN MT_CLIENT_SECTEUR_03 T3 ON T1.CODE_DIVISION_03 = T3.CODE_DIVISION_03 AND T1.CODE_RESEAU_03 = T3.CODE_RESEAU_03 AND T1.CODE_CLIENT = T3.CODE_CLIENT 
    WHERE T3.CODE_DIVISION_03 IS NULL AND T1.CODE_CLIENT != 'CLIENT'

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    exécute le sous SQL*Plus, tu verras alors où est l'erreur. Les problèmes de syntaxe ne sont pas sensés être traité dans le forum

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    dommage, j'ai tenté le post de résolution le plus court de l'histoire ce fut un echec...

    Effectivement, ça a l'air d'etre un problème de TOAD qui ne doit pas envoyer la bonne syntaxe et si tu fait la meme requete dans un autre outils (sqlplus) ça a de grandes chances de fonctionner....

Discussions similaires

  1. Syntaxe SQL incorrecte
    Par matt240490 dans le forum SQL
    Réponses: 1
    Dernier message: 30/10/2012, 07h30
  2. Syntaxe SQL sous BCB
    Par ORLIK dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/10/2004, 20h47
  3. Pb configuration et syntaxe SQL
    Par Glloq dans le forum Débuter
    Réponses: 2
    Dernier message: 09/09/2004, 15h17
  4. syntax sql spéciale pour postgresql ???
    Par krimson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/05/2004, 15h23
  5. requete syntaxe sql
    Par tomm dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/04/2004, 16h56

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