Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/06/2008, 16:18
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Es posible hacer case en un sum...

No he mirado más, pero he observado que la sintaxis del case when... está mal.
SELECT ... SUM(CASE WHEN campo1 > 5 THEN campo2 * 2 ELSE campo3 - 2 END) FROM tutabla...
Observa que tras el when viene el nombre del campo y no antes...
Por si sirve de ayuda.
Un consejo: no trates de probar toda la consulta de un golpe, porque podría haber otros problemas. Lanza una consulta como esta que te he puesto, pero con datos de tus campos y comprueba su efecto. Si funciona bien, aplícala completa.
Pero te diré que me resulta sospechoso el uso de la expresión .. THEN 0 ELSE ISNULL(ansubl_i09,0)
no entiendo demasiado bien ese ELSE y tampoco el isnull con dos valores; parece que quisieras usar IFNULL en lugar de ISNULL y hubieras confundido el término. No sé. Dinos qué es exactamente lo que quieres que haga, algo así como: en caso de que sea tal, se les suma esto, pero si no, se le resta. De ese modo podremos seguir tu lógica.

Última edición por jurena; 19/06/2008 a las 23:31