我正在使用 SQL Server 2012,目前正在编写一份报告,要求我找出两个日期之间的天数差异。
基本上,对于一个特定的ReportID
,我试图找出(ReportCompletedDate
当。。。的时候ReportType = 'PaperReceived'
) - (ReportCompletedDate
当。。。的时候ReportType = 'Form Completed'
)
我试图在下面给出一些记录......
ReportID ReportType ReportCompletedDate
-------------------------------------------------
450 PaperReceived 9/5/2013
450 Form Completed 8/13/2013
451 PaperReceived 9/7/2013
451 Form Completed 7/12/2013
452 PaperReceived 10/6/2013
452 Form Completed 3/13/2013
So, for ReportID = 450
例如,我想得到9/5/2013 - 8/13/2013
几天之内。
如果有人也知道如何在日历日和工作日执行此操作,那就太棒了......但至少日历日应该没问题。
我不知道如何解决这个问题,通常当两个日期对齐时,我更容易弄清楚,但不知道当日期位于不同的行时如何解决。任何建议将不胜感激。
您可以进行自连接以使其显示在“一行”上。像这样:
SELECT DateDiff(day,BASE.ReportCompleteDate, FORM.ReportCompleteDate) as Diff
FROM TABLE_NAME_YOU_DID_NOT_SAY BASE
LEFT JOIN TABLE_NAME_YOU_DID_NOT_SAY FORM ON BASE.ReportId = FORM.ReportID AND FORM.ReportType = 'Form Completed'
WHERE BASE.ReportType = 'PaperRecieved'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)