Principales respuestas
Mensaje de Error: ORA-94 *R*.*Fecha_Conclusion*: Identificador no Valido

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.- Tipo cambiado Miguel Egea GómezMVP, Moderator jueves, 12 de abril de 2018 7:14 es una pregunta no un debate
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.
- Marcado como respuesta Miguel Egea GómezMVP, Moderator jueves, 12 de abril de 2018 7:15
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.
- Marcado como respuesta Miguel Egea GómezMVP, Moderator jueves, 12 de abril de 2018 7:15
-