SQL query to add or subtract values based on another field

sql

Solution

Using a `CASE` statement should work in most versions of sql:

SELECT SUM( CASE
               WHEN t.Sign = 'Pos' THEN t.Value
               ELSE t.Value * -1
            END
          ) AS Total
FROM YourTable AS t

Problem

I need to calculate the net total of a column-- sounds simple. The problem is that some of the values should be negative, as are marked in a separate column. For example, the table below would yield a result of (4+3-5+2-2 = 2). I've tried doing this with subqueries in the select clause, but it seems unnecessarily complex and difficult to expand when I start adding in analysis for other parts of my table. Any help is much appreciated! ``` Sign Value Pos 4 Pos 3 Neg 5 Pos 2 Neg 2 ```

Original source