Hi,
I need to calculate the SUM of the column MUTATIE from a table but the PLUS or MINUS comes from another column, see picture.
The out of the SUM(MUTATIE) should be 440
is there a way to do this?
Hi,
I need to calculate the SUM of the column MUTATIE from a table but the PLUS or MINUS comes from another column, see picture.
The out of the SUM(MUTATIE) should be 440
is there a way to do this?
It can be something like this:
DECLARE @Mutatie AS TABLE
(
Mutatie DECIMAL(9,4) NULL,
PLUS_MIN CHAR(1) NULL
)
INSERT INTO @Mutatie
SELECT 200,'-'
UNION
SELECT 200.50,'+'
SELECT SUM(Mutatie * CASE WHEN ISNULL(PLUS_MIN,'+')='+' THEN 1 ELSE -1 END)
FROM @Mutatie
hi
hope this helps
drop table data
create table data (klant int, volgnummmer int , mutatie int, plus_minus varchar(1))
insert into data select 100044,4897 , 200 , '+'
insert into data select 100044,10494, 200 , '+'
insert into data select 100044,43814, 400 , '-'
insert into data select 100044,1451035, 200 , '+'
insert into data select 100044,297550, 40 , '+'
insert into data select 100044,314667, 200 , '+'
select
sum(cast(plus_minus + cast(mutatie as varchar) as int ))
from
data
another way to do this
select
sum(concat(plus_minus,mutatie)*1)
from
data
Thanx! that works!
Hi Rogier,
Thanx for the reply but i dont exactly know how to implement this in my query
SELECT KLANT
, SUM(CASE WHEN plus_minus = '+' THEN mutatie END) - SUM(CASE WHEN plus_minus = '-' THEN mutatie END) AS SUM_MUTATIE
FROM tablename
GROUP BY KLANT