总和值根据另一列的文本值将其视为pos或neg



我正在使用SQL Server管理工作室。我试图使用案例条件概括"金额"列,如果我的dcip列值= d,则如果dcip value = c将"量"视为正整数,则将"量"视为负整数。结束为净额

DCIP    Amount  Name
-----------------------
C   100 Jack
C   100 Jack
D   300 Freddie
D   50  Jack
D   25  Freddie
C   100 Freddie

我正在按名称进行分组,这应该返回以下结果:

Net Amount Name
---------------
-150       Jack
225.       Freddie

我想你想:

select
Amount *
CASE DCIP
    WHEN 'D' THEN 1 
    ELSE -1
END 
from table

,然后按用户进行此类扩展和组的总和

select
sum(Amount *
CASE DCIP
    WHEN 'D' THEN 1 
    ELSE -1
END)
from table
group by name

使用条件聚合

SELECT NAME,
       Net_Amount = Sum(CASE DCIP WHEN 'D' THEN Amount ELSE -Amount END) 
FROM   table
GROUP  BY NAME 

相关内容

最新更新