Sql ORA-00904:相关子查询上的列名无效

Sql ORA-00904:相关子查询上的列名无效,sql,oracle,query-performance,ora-00904,oracle8i,Sql,Oracle,Query Performance,Ora 00904,Oracle8i,我在关联Oracle 8i上的子查询时遇到问题 那个子查询给了我一个ORA-00904:无效的列名,我不明白为什么。它不应该工作吗 SELECT HIST_FA.HIFA_PLAN_CODIGO AS FE_CODIGO_PLANTEL, HIST_FA.HIFA_NUMERO AS

我在关联Oracle 8i上的子查询时遇到问题

那个子查询给了我一个ORA-00904:无效的列名,我不明白为什么。它不应该工作吗

SELECT
    HIST_FA.HIFA_PLAN_CODIGO                                                AS FE_CODIGO_PLANTEL,
    HIST_FA.HIFA_NUMERO                                                     AS FE_NUMERO_CONTROL,
    HIST_FA.HIFA_FECHA                                                      AS FE_FECHA_HORA_EMISION,
    HIST_FA.HIFA_DEST_CLIE_CODIGO                                           AS FE_CODIGO_CLIENTE,
    --  . . . a bunch of other columns . . .
FROM
    VFA_HIST_FA HIST_FA,
    VFA_HIST_ITEMS_FA HIST_ITEMS_FA,
    (
        SELECT
            HIRF_HIIF_HIFA_NUMERO                                           AS FE_NUMERO_CONTROL,
            SUM(DECODE(HIRF_RETE_CODIGO, 0, HIRF_MONTO))                    AS FE_MONTO_ENTREGADO,
            SUM(DECODE(HIRF_RETE_CODIGO, 5, HIRF_MONTO))                    AS FE_IMPUESTO_UNICO,
            SUM(DECODE(HIRF_RETE_CODIGO, 6, HIRF_MONTO))                    AS FE_MARGEN_COMERCIALIZACION
        FROM
            VFA_HIST_ITEMS_RETENC_FA
        WHERE
            HIRF_HIIF_HIFA_NUMERO = HIST_FA.HIFA_NUMERO
        GROUP BY
            HIRF_HIIF_HIFA_NUMERO
    ) PP  
WHERE
    HIST_FA.HIFA_NUMERO = HIST_ITEMS_FA.HIIF_HIFA_NUMERO;
当然,我可以在主
中执行此操作,但它会扫描内部行中的所有行

HIST_FA.HIFA_NUMERO = PP.FE_NUMERO_CONTROL
因此,这不是一个选项,因为查询是永久的


致以最良好的祝愿

更改列名的别名 HIRF\U HIIF\U HIFA\U NUMERO\U ASFE\U NUMERO\U CONTROL
请转到其他名称,然后重试。

Oracle 8i?哇!这带来了回忆。对Oracle 8i的扩展支持于2006年结束。“当然,十年前你本应该升级的时候已经过去了。”他们说LOL@GordonLinoff我知道,但不是我。这是一个恐龙客户,除了和他一起工作,我什么都做不了it@JuanDiego有了这些回忆,现在我想去喝啤酒。唉。它不起作用,除非我做得不好,你能更具体一点吗??我的意思是,我确实更改了别名,但仍然是臭名昭著的ORA000904。