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 :

Problème de référence à un alias de table


Sujet :

SQL Oracle

  1. #1
    Membre du Club Avatar de pascal_T
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut Problème de référence à un alias de table
    Bonjour à tous, je souhaiterais exécuter la requête suivante:

    Code sql : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    SELECT
            reg.lib_caisse                         LIB_CAISSE,
            bul.idf_agent                          MATRICULE,
            his.nom_usuel || ' ' || his.nom_prenom NOM_PRENOM,
            bul.cod_rub                            COD_RUBRIQUE,
            bul.bas_rub                            BAS_RUB,
            bul.tau_rub                            TAU_RUB,
            bul.mnt_rub                            MNT_RUB
    FROM rh.bulpai bul,
         og.ident_his his ,
         rh.agtnat nat,
         rh.agtpai pai,
         rh.inriaregcot reg,
         rh.vue_charges vue
    WHERE pai.idf_agent = nat.idf_agent
    and nat.idf_agent = 21413
    and pai.idf_cle = nat.idf_cle
    and pai.cod_coll = nat.cod_coll
    --and pai.cod_regcot = reg.cod_regime
    and reg.cod_regime = (
                          select cod_regcot from ( select distinct cod_regcot,dat_calpai from agtpai_h where idf_agent=pai.idf_agent
                            and cod_regcot <> 0 and num_emploi = 1
                            union select distinct cod_regcot,dat_calpai from agtpai where idf_agent= pai.idf_agent 
                            and cod_regcot <> 0  and num_emploi=1
                            order by dat_calpai desc )
                          where rownum=1
                          )
    and nat.ident_id    = his.ident_id
    AND  bul.idf_agent  = nat.idf_agent
    AND  bul.idf_cle  = nat.idf_cle
    AND  bul.cod_coll  = nat.cod_coll
    and pai.num_emploi =1
    and pai.num_periode = 1
    and bul.mnt_rub <>0
    AND bul.cod_coll ='test'
    AND pai.cod_coll ='test'
    AND nat.cod_coll ='test'
    and bul.cod_rub = vue.cod_rub
    and vue.typ_cotis ='ASS'
    AND   to_date(to_char(his.dat_debut,'DD/MM/YYYY'),'DD/MM/YYYY') <= to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
    AND   to_date(to_char(his.dat_fin,'DD/MM/YYYY'),'DD/MM/YYYY')   > to_date(to_char(sysdate,'DD/MM/YYYY'),'DD/MM/YYYY')
    ORDER BY LIB_CAISSE,MATRICULE;

    mais le système me renvoie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Error at line 22
    ORA-00904: "PAI"."IDF_AGENT" : identificateur non valide
    Est-ce que celà vient tdu nombre d'imbrication de sous requête?
    SGDR: Oracle 9.2
    OS: Solaris 10

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Oui tout à fait, vous ne pouvez référence les colonnes qu'à une imbrication immédiate.

    Par contre, vous pouvez réécrire votre requête de façon non scalaire, en remplaçant l'égalité + sous-requête par une jointure sur cette même sous-requête.

    Ca fonctionnera et ce sera probablement plus rapide !

Discussions similaires

  1. problème avec mise en page de <table>
    Par dyree dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/09/2005, 16h54
  2. Problème avec les champs de type table
    Par devdev dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/12/2004, 16h05
  3. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58
  4. problème de références _ptr dans une map STL
    Par Mr_Tyu dans le forum CORBA
    Réponses: 1
    Dernier message: 10/08/2004, 10h39
  5. Problème THEORIQUE de création de ma table...
    Par Mr.KisS dans le forum Requêtes
    Réponses: 15
    Dernier message: 06/04/2004, 09h29

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