程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了返回日期 过了目标日期 7 天 | SQL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决返回日期 过了目标日期 7 天 | SQL?

开发过程中遇到返回日期 过了目标日期 7 天 | SQL的问题如何解决?下面主要结合日常开发的经验,给出你关于返回日期 过了目标日期 7 天 | SQL的解决方法建议,希望对你解决返回日期 过了目标日期 7 天 | SQL有所启发或帮助;

我试图让所有仍然打开的票在指定的“关闭”日期前 7 天,而“开票日期”在 7 天前。门票看起来像:

Work Order: Description:     Status:     Task:     End Date:     Billed On:
---------------------------------------------------------------------------
INC1234     broken Monitor   OPEN        1         03/25/2021    03/25/2021
INC1235     No Audio         OPEN        1         04/03/2021    04/01/2021
    

理论上,当此票符合条件时,查询只会返回 INC1234。工单编号、描述、开票日期和状态存储在一个表中,任务存储在另一个表中,结束日期存储在第三个表中。

我有什么:

SELECT disTinCT
    wo.proposal AS 'Work Order',wo.description AS 'Description',wo.status_code AS 'Status',phs.task AS 'Task',wo.act_end_dt AS 'End Date',fnd.tranx_date AS 'Billed On'
FROM
    table1 wo
left OUTER JOIN
    table2 phs ON (wo.proposal = phs.proposal)
left OUTER JOIN
    table3 fnd ON (wo.proposal = fnd.proposal)
WHERE
    wo.status_code = 'OPEN'
    AND phs.act_end_dt <= DATEADD(day,-7,GETDATE())
    AND fnd.tranx_date <= DATEADD(day,GETDATE())

有时一张票会收取多张账单。此查询似乎只抓取第一个计费交易而不是最新交易。 (因此,如果它在 3 月 23 日有帐单,在 3 月 31 日有帐单,则它只会抓取 3 月 23 日,这是不正确的)我似乎无法让它抓取最新的帐单日期并从那时起 7 天。

解决方法

工单、描述、状态代码和结束日期来自同一个表。 任务来自另一个表。 Billed On 来自另一个表。

您想获取一个票号对应表的最新交易。一种解决方案可以是定义一个视图,该视图将包含该表的子集,其中每张票只出现一次,并带有其最大日期。然后您可以在查询中使用该视图;只需用该视图替换 table3。

视图可以写成聚合:

SELEct proposal,max(tranx_datE) from table3 group by proposal;

假设视图名为 table3_view,那么您的查询可以像您一样通过 table3_view 替换 table3 来编写:

SELECT DISTinCT
wo.proposal AS 'Work Order',wo.description AS 'Description',wo.status_code AS 'Status',phs.task AS 'Task',wo.act_end_dt AS 'End Date',fnd.tranx_date AS 'Billed On'
FROM
table1 wo
LEFT OUTER JOIN
table2 phs ON (wo.proposal = phs.proposal)
LEFT OUTER JOIN
table3_view fnd ON (wo.proposal = fnd.proposal)
WHERE
wo.status_code = 'OPEN'
AND
phs.act_end_dt <= DATEADD(day,-7,GETDATE())
AND
fnd.tranx_date <= DATEADD(day,GETDATE())

大佬总结

以上是大佬教程为你收集整理的返回日期 过了目标日期 7 天 | SQL全部内容,希望文章能够帮你解决返回日期 过了目标日期 7 天 | SQL所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。