¿Se pueden anidar las funciones DECODE?
Buenas, a ver si alguien me puede ayudar. Tengo la siguiente funcion:
DECODE(ESTADO,\'cargado\', \'cargado\', \'autorizado\', \'Autorizado\' \'finalizado\', \'Finalizado\') AS ESTADO_IMAGEN
Tengo otra tabla PAGADO que puede tener valores nulos, y quisiera anidar dos DECODE para obtener aquellos cuyo valor en PAGADO sea NOT NULL y ademàs que su estado sea CARGADO.
No encuentro nada de esto en los manuales y tutoriales. Alguien podrà darme una mano. Gracias.
DECODE(ESTADO,\'cargado\', \'cargado\', \'autorizado\', \'Autorizado\' \'finalizado\', \'Finalizado\') AS ESTADO_IMAGEN
Tengo otra tabla PAGADO que puede tener valores nulos, y quisiera anidar dos DECODE para obtener aquellos cuyo valor en PAGADO sea NOT NULL y ademàs que su estado sea CARGADO.
No encuentro nada de esto en los manuales y tutoriales. Alguien podrà darme una mano. Gracias.
si anidar decodes es algo como
DECODE(VARIABLE, VALOR1, DECODE(VAR2,VALVAR2,NULL), VALOR3) si se puede hacer
DECODE(VARIABLE, VALOR1, DECODE(VAR2,VALVAR2,NULL), VALOR3) si se puede hacer
A todo lo que te han dicho acerca de decode agrego que mirés la expresión CASE de Oracle ( manual de Oracle9i SQL Reference - Chapter 4 Expressions )..
Sinceramente, tu ejemplo/caso no esta muy claro...
Pero te aseguro que si se pueden anidar funciones decode (hasta en una 805 lo he probado y funciona), te mando un ejemplo asi te que da mas claro..
SELECT ....
, DECODE(T.CAMPO1,CASO1,VALOR1
, DECODE(R.CAMPO2, VALOR1, OTROCASO1
, VALOR2, OTROCASO2..... )
, DECODE(R.CAMPO3, VALOR1, OTROVALOR1
, VALOR2, OTROVALOR2.... )
, VALORPARAOTROCASO )
FROM TABLA1 T
, TABLA2 R
WHERE......
Pero te aseguro que si se pueden anidar funciones decode (hasta en una 805 lo he probado y funciona), te mando un ejemplo asi te que da mas claro..
SELECT ....
, DECODE(T.CAMPO1,CASO1,VALOR1
, DECODE(R.CAMPO2, VALOR1, OTROCASO1
, VALOR2, OTROCASO2..... )
, DECODE(R.CAMPO3, VALOR1, OTROVALOR1
, VALOR2, OTROVALOR2.... )
, VALORPARAOTROCASO )
FROM TABLA1 T
, TABLA2 R
WHERE......
