sql - 根据日期条件计算多付金额 - SQL Server
问题描述
我在 SQL 中有一个代码来检索在终止日期之后支付日期的会员,现在我还需要计算在终止日期之后支付的总金额。我怎样才能做到这一点?
有2个表,成员表:
我想要的最终结果是:
目前我能够检索其他列,但 Sum(Rcvd Amount)
Select Member_ID
, Term_DT
, RCVD.MAX_RCVD_DT
From Membership a
Left Join
(
Select Member_ID
, MAX(RCVD_DT) as MAX_RCVD_DT
from received
group by Member_ID
)
AS RCVD on RCVD.Member_ID = a.Member_ID
WHERE RCVD.MAX_RCVD_DT >= Term_DT
解决方案
像这样的东西
select m.Member_ID [Member ID], m.Term_DT [Term Date],
sum(r.RCVD_AMOUNT) [Rcvd Amount], max(r.RCVD_DT) [Latest Rcvd Date]
from membership m
join received r on m.Member_ID = r.Member_ID
and r.RCVD_DT >= m.Term_DT
group by m.Member_ID, m.Term_DT;
推荐阅读
- swift - 字符串中的撇号
- sql - SQL 连接,所有连接都满足条件
- spring-boot - Spring Reactive 流不适用于 Netflix Zuul 反向代理
- php - Symfony 4 - 错误 11:启动服务器时出现分段错误
- c# - 第二个 Log4net 记录器未写入唯一文件
- tsql - 利用 SQL 数据自动执行调查并提取结果
- reactjs - ESLint:WebStorm 中的语言服务超时 ReactJS
- javascript - 为什么你必须在一个数字周围加上括号才能调用 toFixed 呢?
- angular - 值绑定在自定义组件中不起作用
- mysql - 使用转义字符编写“latin1”编码字节数组