19/06/2008, 16:18
|
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 |