0

Oracle はサブクエリで c エイリアスを認識していないようです。返されるエラーは次のとおりです: ORA-00904: "C"."FLH_PUNTO_EROGAZIONE": identificativo non valido

オラクルは1度の外部ステートメントでエイリアスを探すだけのようです

SELECT (SELECT 1
          FROM (SELECT 1 AS SomeAlias
                  FROM out.ANAG_PDF_PWR_T840
                 WHERE campo34 = c.flh_punto_erogazione
                UNION
                SELECT 1
                  FROM out.ANAG_PDF_T812
                 WHERE campo34 = c.flh_punto_erogazione) Something)
  FROM etl_elab_interf_flat f, eni_flussi_hub c,  eni_info_extra_forn ief, conf_forniture forn
 WHERE     f.eif_campo198(+) = c.flh_id_messaggio
       AND f.idde_identif_dati_ext_id(+) = c.idde_identif_dati_ext_id
AND c.flh_punto_erogazione IN ('8003576015', '8003576054', '8003576551', '8003576565')
       AND eif_campo200 IN ('FORNITURA_ENI')
       AND c.flh_flag_ann = 'N'
       --
       AND forn.forn_old_codice_fornitura (+) = c.flh_fornitura
       AND forn.forn_fornitura_id  = ief.forn_fornitura_id(+);
4

1 に答える 1

0

c.flh_punto_erogazioneand またはクエリに問題はありません。

SQL> select (select 1 
               from dual b 
              where c.dummy||'YZ'=b.dummy||'YZ') col
       from dual c
      where c.dummy||'YZ'='XYZ';

COL
----------
1

ただし、列flh_punto_erogazioneが表に存在しないeni_flussi_hubか、スペルが間違っている可能性があります。

于 2012-10-11T18:26:00.810 に答える