Hola a todos, me gustaria saber si es posible realizar un CASE WHEN ELSE END dentro de un SUM... esto dentro de un subconsulta, el problema es a raiz de que la tabla tiene cantidades totales por meses y cada campo pertenece a un mes
ejem: ansubl_i01=ene, ansubl_i02=feb, etc.
lo que busco es sumar dos conceptos ansubl + subsil y sacar un total partiendo de la fecha 01-10-2006.
si logro ejecutar la consulta de abajo funcionaria ya que la logica esta bien, creo...
el codigo es el siguiente:
(SELECT ISNULL(SUM(
CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(anticipos.ansubl_i01,0) + ISNULL(anticipos.subsil_i01,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(anticipos.ansubl_i02,0) + ISNULL(anticipos.subsil_i02,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i03,0) + ISNULL(anticipos.subsil_i03,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i04,0) + ISNULL(anticipos.subsil_i04,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i05,0) + ISNULL(anticipos.subsil_i05,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i06,0) + ISNULL(anticipos.subsil_i06,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i07,0) + ISNULL(anticipos.subsil_i07,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i08,0) + ISNULL(anticipos.subsil_i08,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN 0 ELSE ISNULL(ansubl_i09,0) + ISNULL(anticipos.subsil_i09,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN ISNULL(anticipos.ansubl_i10,0) + ISNULL(anticipos.subsil_i10,0)
ELSE ISNULL(anticipos.ansubl_i10,0) + ISNULL(anticipos.subsil_i10,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN ISNULL(anticipos.ansubl_i11,0) + ISNULL(anticipos.subsil_i11,0)
ELSE ISNULL(anticipos.ansubl_i11,0) + ISNULL(anticipos.subsil_i11,0) END
+ CASE anticipos.tiempo
WHEN 2006 THEN ISNULL(anticipos.ansubl_i12,0) + ISNULL(anticipos.subsil_i12,0)
ELSE ISNULL(anticipos.ansubl_i12,0) + ISNULL(anticipos.subsil_i12,0) END ,0)
FROM anticipos
WHERE datos_empleado.rut = anticipos.rut
AND anticipos.tiempo >= 2006
) AS subsidios,
bueno aquien me pueda ayudar se le agradece un monton.