使用相同的外键求INT值

时间:2018-03-09 20:44:06

标签: sql sql-server select sum

我需要使用下表并显示2018年日期的每个ClaimID的总InjuryPaymentAmt ...我使用以下代码,但我无法将ClaimID1作为单个值输出(而不是三个)< / p>

dataset output

maxStatements

更新 - 我有一个类似的表“PropertyClaimPmt”,我试图加入这些表,希望得到类似的结果。我希望一列中的ClaimID和另一列中的声明总数 - 但它们需要2018年。我尝试了一个联合,但它从一个表中删除一个值,而不是从另一个表中总结一个不同的值

Select SUM(InjuryPaymentAmt) as TotalClaims2018, ClaimID
from PersonalInjuryPmt
where InjuryPaymentDate between '2017-12-30' and '2018-12-28' 
group by InjuryPaymentDate, ClaimID;

Capture2 Output2

2 个答案:

答案 0 :(得分:1)

您应该只按ClaimID

进行分组
SELECT   SUM(InjuryPaymentAmt) as TotalClaims2018, ClaimID
FROM     PersonalInjuryPmt
WHERE    YEAR(InjuryPaymentDate) = 2018
GROUP BY ClaimID;

答案 1 :(得分:0)

$.ajax({ type: 'post', data: 'username='+username+'&password='+password, url: '/account/login.php', async: false, success: successFunction, error: errorFunction }); function successFunction(response){ $("#WrongPW_Error").fadeOut("fast"); $("#Empty_Error").fadeOut("fast"); $("#LoggedIn").fadeIn("fast"); setTimeout(location.reload(),2200); } function errorFunction(response){ $("#WrongPW_Error").fadeOut("fast"); $("#Empty_Error").fadeIn("fast"); } 指定结果集中的行。按键分组(存在于数据中)的每个唯一组合都在结果集中,每行一个组合。因为您需要每GROUP BY行一行,这应该是ClaimId中的唯一一列。

我通常将聚合键列放在GROUP BY中,然后是聚合表达式:

SELECT

由于有和没有时间组件的日期之间的混淆,将日期逻辑写为:

更安全
Select ClaimID, SUM(InjuryPaymentAmt) as TotalClaims2018
from PersonalInjuryPmt
where InjuryPaymentDate between '2017-12-30' and '2018-12-28' 
group by ClaimID;

即使Select ClaimID, SUM(InjuryPaymentAmt) as TotalClaims2018 from PersonalInjuryPmt where InjuryPaymentDate >= '2017-12-30' and InjuryPaymentDate < '2018-12-29' group by ClaimID; 有时间组件,这也会有效。