none
Mensaje de Error: ORA-94 *R*.*Fecha_Conclusion*: Identificador no Valido RRS feed

  • Pregunta

  • Un saludo.

    Mis caracteristicas son las siguientes:

    Tengo un Oracle SQL Developer, la edicion dberia ser 2005-2012, Idioma: Español, Sistema Operativo: Windows 7, Oracle IDE: 3.2.20.9.87, version interna del Main es: -09.87.


    Estoy intentando crear una consulta donde me muestre los registros de 2 tablas que cumplan con mis especificaciones de fechas, codigos especiales y estados.

    Este es mi Codigo:

    SELECT *
    FROM (SELECT d.usuario_autoriza gafete, 'Creditos' operacion, d.id_trabajador, d.num_prestamo
                   CASE
                      WHEN (
                               (SELECT COUNT (dispo.num_prestamo)
                               FROM dba.dispoosiciones dispo
                               WHERE dispo.id_trabajador = d.id_trabajador
                               AND dispo.codigos_esp = '0'
                               AND dispo.estado IN '1'
                               AND dispo.origen NOT IN 't'
                               AND dispo.codproducto IN (
                                                        SELECT valor
                                                        FROM dba.parametros
                                                        WHERE funcionalidad = 'REPORTE_TRANSACCIONES_ANALISTAS'
                                                        AND parametro LIKE '%PRODUCTO_PROCESOS_CREDITO%'
                                                        AND codigos_esp = '0'
                                                        )
                                ) > 1
                            )
                    THEN 'Segundo Credito'
                    ELSE 'Primer Credito'
                    END descripcion
                    d.FECHAAUTORIZADO, d.sucursalautoriza , d.codproducto, d.estado, d.Fecha_de_Solucion, r.Fecha_Conclusion
                    FROM dba.dispoosiciones d
    
            SELECT d.FECHAAUTORIZADO, d.sucursalautoriza sucursal, d.codproducto, d.estado, d.Fecha_de_Solucion Fecha_Conclusion
            FROM dba.reportesolicitudes d, dba.report_solicitudes r
            WHERE d.codigos_esp = '0'
            AND d.origen NOT IN 't'
            AND d.codproducto IN (
                                    SELECT valor
                                    FROM dba.parametros
                                    WHERE funcionalidad = 'REPORTE_TRANSACCIONES_ANALISTAS'
                                    AND parametro LIKE '%PRODUCTO_PROCESOS_CREDITO%'
                                    AND codigos_esp = '0'
                                 )
          )
    WHERE d.fechaautorizado IN '16/03/2018'
    AND r.Fecha_Conclusion IN '16/03/2018'                                
    
    UNION
    
    SELECT d.usuario_autoriza gafete, 'Creditos' operacion, d.id_trabajador, d.num_prestamo,'Primer Credito' DESCRIPCION, d.FECHAAUTORIZADO, r.Fecha_de_Solucion, d.SUCURSALAUTORIZA, d.CODPRODUCTO, d.estado
    FROM dba.dispoosiciones d, dba.report_solicitudes r
    WHERE d.codproducto IN ('377','333','360','119','111') 
    AND d.fechaautorizado IN '16/03/2018'
    AND r.Fecha_de_Solucion IN '16/03/2018'
    

    Este es mi mensaje de error:

    ORA-94 *R*.*Fecha_Conclusion*: Identificador no Valido
    00904 0000: ´% invalid identifier' 
    *Cause:
    *Action:
    *Error en la linea 38, Columna: 12


    Información Adicional:
    -El Error aparece cuando intento correr el programa.

    Cualquier duda, por favor comentar, la responderé lo mas rápido posible.

    miércoles, 11 de abril de 2018 18:35

Respuestas

  • Hola Orybos:

    Por partes.

    • Este es el foro de Sql Server de Microsoft. No es por nada, pero seguro que en los foros de Oracle, te pueden ayudar mejor. No obstante. Aún así, haber si te ayuda un poco lo que yo veo.
    • El error de Oracle 00904 es un error de sintaxis al mencionar una columna que no existe.

    https://www.techonthenet.com/oracle/errors/ora00904.php

    • Segun veo tu sintaxis, y entendiendo que no has puesto tus tablas, ni tus campos....etc, cuando terminas el case en END descripcion te falta una coma para seguir mencionando d.FECHAAUTORIZADO.
    • El error de r.Fecha_conclusion, te lo muestra porque la tabla con Alias r no esta mencionada en ese from, por tanto no sabe que significa r.
    • Luego despues de FROM dba.disposiciones d esa select, es inconexa, porque no hay ni un final de sentencia, ni un paréntesis, ni nada, ya que inmediatamente, dos filas despues, inicia con Select d......
    • Esto puede ser mio, pero nunca habia visto la definición de un condicionante IN sin los paréntesis.
    • La ultima select despues del UNION, como sabe oracle que las tablas tienen que unirse. Seguro que lo sabe pero por la denominación de las mismas, y al no estar mencionando ni en ON ni en Where.....no se.

    No te puedo contar mucho más porque al no tener ningúna de las tablas DISPOSICIONES, REPOR_SOLICITUDES, etc, es como dar palos de ciego.

    Un saludo.

    miércoles, 11 de abril de 2018 19:23

Todas las respuestas

  • Hola Orybos:

    Por partes.

    • Este es el foro de Sql Server de Microsoft. No es por nada, pero seguro que en los foros de Oracle, te pueden ayudar mejor. No obstante. Aún así, haber si te ayuda un poco lo que yo veo.
    • El error de Oracle 00904 es un error de sintaxis al mencionar una columna que no existe.

    https://www.techonthenet.com/oracle/errors/ora00904.php

    • Segun veo tu sintaxis, y entendiendo que no has puesto tus tablas, ni tus campos....etc, cuando terminas el case en END descripcion te falta una coma para seguir mencionando d.FECHAAUTORIZADO.
    • El error de r.Fecha_conclusion, te lo muestra porque la tabla con Alias r no esta mencionada en ese from, por tanto no sabe que significa r.
    • Luego despues de FROM dba.disposiciones d esa select, es inconexa, porque no hay ni un final de sentencia, ni un paréntesis, ni nada, ya que inmediatamente, dos filas despues, inicia con Select d......
    • Esto puede ser mio, pero nunca habia visto la definición de un condicionante IN sin los paréntesis.
    • La ultima select despues del UNION, como sabe oracle que las tablas tienen que unirse. Seguro que lo sabe pero por la denominación de las mismas, y al no estar mencionando ni en ON ni en Where.....no se.

    No te puedo contar mucho más porque al no tener ningúna de las tablas DISPOSICIONES, REPOR_SOLICITUDES, etc, es como dar palos de ciego.

    Un saludo.

    miércoles, 11 de abril de 2018 19:23
  • Descuida me haz ayudado mucho.

    Muchas gracias.
    miércoles, 11 de abril de 2018 20:26