CASE WHEN CON ORACLE


Estructura : case when sentencia (puede incluir los siguientes operadores  =, >=, <=, <> , and ,or) 
then (que pasara si se cumple la sentencia ) else (que ejecutara si no se cumple) end (end para terminar el case when)

Supongamos que tenemos que mostrar una tabla con los estatus de surtimiento de un
medicamento. Podemos hacerlo desde el query utilizando CASE WHEN (equivale al if 
else de java) para comparar (para comparar cuando el campo es varchar se utilizan
comillas simples EJEM suponiendo que el campo NUM_SURTIDA es varchar seria asi
case when rm.NUM_SURTIDA >= '50'  then 'x' else ' '  end)



select 
           m.CVE_MEDICAMENTO clave,
           m.NOM_MEDICAMENTO medicamento,
           m.MON_COSTOMEDICAMENTO costo,
           (case when rm.NUM_SURTIDA >= 50 then 'x' else ' '  end) biensurtida ,
           (case when rm.NUM_SURTIDA >= 20 and NUM_SURTIDA < 50 then 'x'  else ' ' end  ) mediasurtida,
           (case when rm.NUM_SURTIDA >= 5 and NUM_SURTIDA < 20 then 'x' else ' ' end  ) pocosurtida,
          (case when rm.NUM_SURTIDA <= 5  then 'x' else ' ' end  ) surtir
from 
           PPT_MEDICAMENTOSSURTIDOS rm inner join 
           PPC_MEDICAMENTOS m on rm.CVE_MEDICAMENTO=m.CVE_MEDICAMENTO

Post a Comment

Artículo Anterior Artículo Siguiente