How to get result table by calculate multirow?
Name Type Value ------------------------------ Name1 Plus 5000 Name1 Minus 1000 Name2 Plus 3000 Name2 Minus 2000
Desired result:
Name Value(Plus-Minus) ------------------------------ Name1 4000 Name2 1000
Advertisement
Answer
You can use conditional aggregation:
SELECT Name,
       SUM(CASE WHEN Type = 'Plus' THEN Value
                WHEN Type = 'Minus' THEN - Value
                ELSE 0
           END) as total
FROM t
GROUP BY Name;