在SQL Server中合并相似的结果

问题描述 投票:0回答:1

所以我有2张桌子。第一个表包含索赔。每个声明都有一个唯一的rID。每个声明可以附加多个条目。这些条目还附有错误代码。每个声明只能有1个错误代码,该错误代码再次在条目中列出。我想做的是根据errorCode选择我的声明。返回的结果如下所示:

rID  |   errorCode  | total amount for error Code  | total amount of claims that have the error code. 

我目前的结果列出了每个唯一的索赔,但显示了每个错误代码的索赔以及相关的金额。应该将数量和错误代码计数合并到1列中。我该怎么做?这是我当前正在使用的代码,也是我的SQL快照及其结果的快照。非常感谢所有帮助。

SELECT 
  rID, 
  (SELECT TOP 1 errorCode FROM entries e WHERE e.rID=c.rID) as ec, 
  round((SELECT SUM(refundDue) FROM entries WHERE rID=c.rID),0) as amount 

  FROM claims c WHERE status='closed' AND c.auditorID='101' AND (c.dateon >= '20191018' AND c.dateon < '20191025') ORDER BY ec asc

current sql results

基于此图像,结果应该是这样的

ECTotal   |  EC   |  amount
_______     _____   ________
   1         AI      600.00
   2         CI      4494.00
  10         CL      12654.00
   3         DN      11138.00
   2         RB      893.00
   3         RT      15256.00
   1         WA      567.00
   1         WP      2488.00
   1         WT      2378.00
sql-server sql-server-2014
1个回答
0
投票

我认为您只需要分组。 。 ?

unested

SELECT count(*) ECTotal, e.errorcode ec,
   round(SUM(refundDue),0) as amount
FROM claims c
inner join entries e on e.rid=c.rid
WHERE c.status='closed'
   AND c.auditorID='101'
   AND (c.dateon >= '20191018' AND c.dateon < '20191025')
GROUP BY e.errorcode
ORDER BY e.errorcode asc
© www.soinside.com 2019 - 2024. All rights reserved.