lunes, 30 de noviembre de 2015

Usar varios Case/ case anidados en pl sql

Un caso muy común es utilizar case anidados en plsql.


 CASE
        WHEN RETENCION='NO' THEN   '0'
        WHEN   coalesce( A1.TARJETA,A2.TARJETA) is not null
                    THEN  
                                 case 
                                      WHEN (A1.fec_baja >= '01/01/2000')  THEN '0'
                                      WHEN (A2.fec_baja >='01/01/2000')  THEN '0'
                                      WHEN (A1.fec_baja is null AND A2.fec_baja is null) THEN '1'
                                      ELSE '0' 
                                END
       WHEN (A3.f_baja <'01/01/2000')  then'0'
       WHEN (A3.f_baja is null) then'1'
       else '0' 
  END
AS   CAMPO_A