SQL Server查询以获得结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server查询以获得结果相关的知识,希望对你有一定的参考价值。

我具有如下表结构

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返回drcr = 2pid = 33我尝试使用Google搜索的内容,但一无所知。

答案

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

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

以上是关于SQL Server查询以获得结果的主要内容,如果未能解决你的问题,请参考以下文章