Sumar o Restar valores en base a otra columna

Tengo el siguiente query:
SELECT SUM(importe) AS suma, fecha
FROM importes
GROUP BY fecha
Pero tengo el siguiente problema:
Tengo otra columna llamada validación en la que si se tiene el valor "R", el valor en la columna importe se resta, y si tiene el campo "S" el valor se suma...
¿De pura casualidad tendrán alguna sugerencia mediante la cual pueda resolver este problema?
Estuve buscando la manera de meterlo mediante el comando case, pero la verdad no me quedó.

1 respuesta

Respuesta
Que motor de base de datos usas si es oracle puedes usar la función decode y evaluar
Decode(validacion,'R', operacion de resta,'s', operacion de suma)
Y listo
Muchas gracias amigo, pero desafortunadamente utilizo sql server 2005 express.
Agradezco la ayuda, espero me puedan seguir apoyando.
¿Hay algo más que se pueda hacer?
Lo más parecido seria que usaras el case when o case creo que así es en sqlserver ese te sirve creo que la sintaxis es así
case campo when 'R' then resta when 'S' suma else otracosa end
Muchísimas gracias mach, ya encontré la solución, les dejo el query para toda la comunidad que lo necesite:
SELECT fecha, SUM(CASE sumrest WHEN 'r' THEN importe * - 1 ELSE importe END) AS suma
FROM importes
GROUP BY fecha

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas