添加或减去 SELECT 中字段的值

Adding or subtracting the value of a field in a SELECT

这是我的查询:

SELECT
    C.CLIENTNUMBER,
    (SELECT SUM(B.FEES) WHERE B.TYPE IN ('1', '2')) AS TOTALFEES
FROM CLIENTS C
INNER JOIN BILLS B ON B.CLIENTNUMBER = C.CLIENTNUMBER
GROUP BY C.CLIENTNUMBER

这很简单,但问题就在这里。如果 B.TYPE 是 1 或 2,我想将 B.FEES 添加到 TOTALFEES。但如果是 3,我想从 TOTALFEES.

中减去 B.FEES

关于如何做到这一点有什么想法吗?谢谢

SELECT C.CLIENTNUMBER,
       SUM(case when B.TYPE IN ('1', '2') 
                then B.FEES
                else -B.FEES 
           end) AS TOTALFEES
FROM CLIENTS C
INNER JOIN BILLS B ON B.CLIENTNUMBER = C.CLIENTNUMBER
GROUP BY C.CLIENTNUMBER

这对所有 B.FEES 求和,但在 case 中有一个条件:如果 B.TYPE IN ('1', '2'),则将 B.FEES 添加到总和,否则减去 B.FEES