¿Se pueden anidar las funciones DECODE?

JMC
31 de Agosto del 2004
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.

manic
31 de Agosto del 2004
si anidar decodes es algo como
DECODE(VARIABLE, VALOR1, DECODE(VAR2,VALVAR2,NULL), VALOR3) si se puede hacer

N?or
31 de Agosto del 2004
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 )..

pponte
31 de Agosto del 2004
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......

vmarquez
31 de Agosto del 2004
entiendo y creo que esta es tu preguntta
where DECODE(ESTADO,\'cargado\', \'cargado\', \'autorizado\', \'Autorizado\' \'finalizado\', \'Finalizado\') = 'Cargado'
...
and pagado is not null