19/11/2008, 05:23
|
| | Fecha de Ingreso: marzo-2008 Ubicación: Euskadi
Mensajes: 64
Antigüedad: 16 años, 7 meses Puntos: 0 | |
Respuesta: problemas con el case Hola matanga,
fíjate en que no se evalua un solo campo sino 3 (factor1, factor2 y factor3) con lo cual esa última decode no es válida.
El decode está bien para casos muy sencillos pero para evaluaciones más complejas, comparar distintos campos, filtrar por rangos (podemos utilizar BETWEEN, < y >), etc. habría que utilizar CASE.
De hecho me parece una herramienta tan potente que muchas consultas se pueden optimizar mucho gracias al CASE. Me explico: ¿quién no ha hecho alguna vez una 'superconsulta' con UNION ó UNION ALL donde las consultas son práctimente iguales salvo algún filtro? Pues con el CASE podemos hacer una única consulta tomando el filtro menos restrictivo que abarque los registros de todas ellas (para eso tienen que ser parecidas, claro) y luego filtrar los datos en diferentes campos con el CASE. Espero haberme explicado.
Un saludo. |