SQL Server查询以获得结果

时间:2020-04-20 16:58:54

标签: sql sql-server tsql

我的表格结构如下

id    pid   amount   drcr    residce  
1     33    1000         1        55  
2     32    2000         2        44  
3     33    1500         2        54

在这里我想用drcr计算总和,返回的值更大 对于前。这里1500 > 100,因此它应返回total = 500的{​​{1}},drcr = 2 我尝试使用Google搜索的内容,但一无所知。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找条件聚合

SELECT pid, SUM(CASE WHEN drcr = 2 THEN Amount ELSE -Amount END) 
FROM
(
  VALUES
  (1,     33,    1000,         1,        55),  
  (2,     32,    2000,         2,        44),  
  (3,     33,    1500,         2,        54)
) T(id, pid, amount, drcr, residce)
GROUP BY pid

这里是db<>fiddle