Oracle Reports: No funciona Order by con parámetro
Oracle Reports: No funciona ordenar pasando el valor por parámetro
Oracle Reports: Me ignora el order by dinámico
Oracle Reports: Como poner un order by dinámico
Situación:
Tenemos un report con una consulta normal sobre una base de datos y queremos poder ordenar el resultado según un parámetro que nos indica por que columna queremos ordenar. Si no fuera dinámico simplemente lo añadimos normal a la consulta pero si es dinámico la primera opción que pensamos es poner un "orden by :parametro_orden" pero sin saber muy bien porque es algo que a veces va y a veces no. Si el parámetro además no nos indica la columna literalmente o la posición si no otro valor no relacionado pues debemos hacer un decode pero si las columnas son de diferente tipo (numérico y carácter por ejemplo) el que pongamos como segunda parte del decode nos fallará. ¿Como lo hacemos pues?
Explicación:
En el caso de no necesitar el decode no entiendo porque a veces no va, debe ser un error más de reports.
En el caso del decode si falla puede ser por lo anterior o porque son de diferentes tipos y se hace un lio.
Solución:
No se si era la idea original o un parche que han pensado algunos y se ha vuelto una especie de estandar pero ahora mismo es lo único que me funciona sin problemas.
En primer lugar creamos una funcion que nos devuelva, segun el valor del parámetro orden, la cadena de order by:
En segundo lugar a la consulta cambiamos el order by por &nombre_de_la_funcion.
Y ya funciona :P
lunes, 15 de septiembre de 2008
Suscribirse a:
Enviar comentarios (Atom)
3 comentarios:
pues la verdad no me acordaba y fijate que es tonto y util. Haces un curro genial : )
Necesito hacer un reporte pero no tengo la idea como hacerlo.
Hacer un reporte por usuario/unidad dar el resumen de la mensajería enviada y recibida entre dos fechas..
Te agradecería si me ayudan para tener una idea de hacer el query
Gracias..
The 11 Best Casinos in Milwaukee, WI - Mapyro
Discover which casinos offer 화성 출장샵 the 광주 출장마사지 best 용인 출장안마 casino 군포 출장샵 games, 남양주 출장샵 including Poker, Blackjack, Roulette, and more in Milwaukee, Wisconsin.
Publicar un comentario