sql - 如何获得下一个截止日期
问题描述
我有两张桌子。一个客户表和另一个是预定表,其中包含预定事务并包括下一个预定付款日期。我需要每天运行报告 - 我需要根据今天的日期计算下一个截止日期。
下面是我写的脚本
select a.ApplicationId
, d.Reference as ' Payment Reference'
,a.PaymentMethod
,sch.Date as 'Next Payment due Date'
from [dbo].[Application] as a
left join [Direct Debit] as d on d.ApplicationId =a.ApplicationId
left join [Schedule] as sch on sch.ApplicationId=a.ApplicationId
where PaymentMethod ='Direct Debit' and sch.Scheduletype='InstalmentSchedule' and sch.applicationID =6923
GROUP BY a.ApplicationId, d.Reference,a.PaymentMethod,sch.Date
解决方案
您可以将子选择添加到您的日程安排中,以便仅获取未来的下一个日期
SELECT
a.ApplicationId
,d.Reference AS 'Payment Reference'
,a.PaymentMethod
,sch.Date AS 'Next Payment due Date'
FROM [dbo].[Application] AS a
LEFT JOIN [Direct Debit] AS d
ON d.ApplicationId = a.ApplicationId
LEFT JOIN (SELECT
ApplicationId
,Scheduletype
,MIN([Date]) [Date]
FROM [Schedule]
WHERE [Date] > GETDATE()
GROUP BY ApplicationId
,Scheduletype) AS sch
ON sch.ApplicationId = a.ApplicationId
WHERE PaymentMethod = 'Direct Debit'
AND sch.Scheduletype = 'InstalmentSchedule'
AND sch.applicationID = 6923
GROUP BY a.ApplicationId
,d.Reference
,a.PaymentMethod
,sch.Date
子选择是:
SELECT
ApplicationId
,Scheduletype
,MIN([Date]) [Date]
FROM [Schedule]
WHERE [Date] > GETDATE() /* date must be in the future */
GROUP BY ApplicationId
,Scheduletype
推荐阅读
- python - 在 python 中写入输出文件时分离要使用的标头 - apache beam
- python - 如何在 Python 中为 Amazon S3 创建虚拟驱动器
- python - 通过数据块从 ADLS gen2 存储中的多个文件夹读取文件并创建单个目标文件
- amazon-web-services - 错误 4xx AWS Elastic Beanstalk - 严重完整性
- javascript - 如何将流 responseType 传递给我的客户端?
- java - 使用 Keys 的键盘快捷键
- vba - 帮助理解 VBA 代码中的 LogUsage
- python - 列表理解:TypeError:'float' 对象不可迭代
- python - 将共享驱动器上的 PDF 嵌入 HTML 电子邮件
- r - R中的正则表达式帮助 - 在每次出现数字(点)数字后拆分字符串