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 :

Erreur ORA-00904 identificateur nopn valide, alors qu'il existe bien


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Erreur ORA-00904 identificateur nopn valide, alors qu'il existe bien
    Voici la requête que j'utilise :

    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
    22
    23
     
    select count(1) 
    from 
    (
    Select SDH.PRG_TRONCON_OPERATION.ID_PRG_TRONCON_OPERATION,
    SDH.PRG_TRONCON_OPERATION.ROUTE,
    SDH.PRG_TRONCON_OPERATION.LOCAL1,
    SDH.PRG_TRONCON_OPERATION.LOCAL2,
    SDH.PRG_TRONCON_OPERATION.OFFSET,
    SDH.PRG_TRONCON_OPERATION.OFFSET_SIDE,
    SDH.PRG_OPERATION.ID_PRG_LEX_SOUS_PROGRAMME, <-- il ne dit rien à cette ligne
    SDH.PRG_OPERATION.ANNEE_OPERATION 
    from 
    (
    (
    (
    SDH.PRG_TRONCON_OPERATION LEFT JOIN SDH.PRG_LEX_SOUS_PROGRAMME 
    /*Ligne 17:*/ON SDH.PRG_OPERATION.ID_PRG_LEX_SOUS_PROGRAMME = SDH.PRG_LEX_SOUS_PROGRAMME.ID_PRG_LEX_SOUS_PROGRAMME) 
    LEFT JOIN SDH.PRG_LEX_ETAT ON SDH.PRG_OPERATION.ID_PRG_LEX_ETAT = SDH.PRG_LEX_ETAT.ID_PRG_LEX_ETAT) 
    INNER JOIN SDH.PRG_OPERATION ON SDH.PRG_TRONCON_OPERATION.CODE_ITIN =SDH.PRG_OPERATION.CODE_ITIN) 
    where  SDH.PRG_TRONCON_OPERATION.CODE_ITIN = SDH.PRG_OPERATION.CODE_ITIN  
    and SDH.PRG_OPERATION.ANNEE_OPERATION = 2011 
    order by SDH.PRG_TRONCON_OPERATION.ROUTE,SDH.PRG_TRONCON_OPERATION.LOCAL1)
    et voici l'erreur que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ERREUR à la ligne 17 :
    ORA-00904: "SDH"."PRG_OPERATION"."ID_PRG_LEX_SOUS_PROGRAMME" : identificateur non valide
    Alors que l'identificateur existe.


    Si quelqu'un a une idée

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (SDH.PRG_TRONCON_OPERATION LEFT JOIN SDH.PRG_LEX_SOUS_PROGRAMME  
    ON SDH.PRG_OPERATION.ID_PRG_LEX_SOUS_PROGRAMME = SDH.PRG_LEX_SOUS_PROGRAMME.ID_PRG_LEX_SOUS_PROGRAMME)
    C'est normal, tu joins 2 tables (troncon et sousprog) et la clause ON lie sousprog à operation

    Essayes plutôt d'utiliser la norme avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM <les tables> WHERE <conditions de jointure>

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Les tables du FROM sont lues dans l'ordre.
    Votre première jointure fait appel à une table pas encore référencée.

Discussions similaires

  1. ORA-00904 : Identificateur non valide
    Par Alynn dans le forum PL/SQL
    Réponses: 7
    Dernier message: 29/01/2014, 12h32
  2. erreur ora-00904 identificateur non valide
    Par zed80 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/01/2010, 13h23
  3. Ora-00904 Identificateur non valide ?
    Par DBA_OCP dans le forum Oracle
    Réponses: 1
    Dernier message: 05/06/2009, 16h03
  4. ORA-00904 : identificateur non valide
    Par hotcold dans le forum SQL
    Réponses: 10
    Dernier message: 01/03/2009, 19h20
  5. Réponses: 5
    Dernier message: 13/08/2007, 13h02

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