我正在尝试创建SQL
查询来执行以下操作:
企业需要记录指令后两小时内接听的电话数量。可以在1630年从外部公司收到指令,但只要在第二天1030之前向外部公司发出回电,那么这将被视为在2小时内返回(假设工作日为0900-1700) 。这变得更加困难,因为工作日也需要在周末考虑因素,星期五1630的电话可以在周一1030返回,并且仍然算在2小时内返回
到目前为止,我编写了以下SQL代码:
WITH checkcalllogs
AS (SELECT ( Datediff(hour, Dateadd(s, ( Datediff(s, '19700101', hdc.date09)
+ hdc.number09 ), '19700101'),
Dateadd(s, ( Datediff(s, '19700101', cc.origdate) + cc.origtime ),
'19700101')) ) AS CallReturnTime
FROM hdcase AS hdc
INNER JOIN crmcall AS cc
ON hdc.hdcasenum = cc.key1
AND hdc.company = cc.company
WHERE callseqnum = 1)
SELECT callreturntime AS [Num of Calls Returned <= 2 Hours]
FROM checkcalllogs
WHERE callreturntime <= 2
这将返回2小时内返回的呼叫数,但不适用于营业时间或周末。
我已经考虑过使用案例来消除17:00到09:00之间16小时的时差,但我很难得到我想要的结果。
配置此SQL查询以返回工作时间内2小时内返回的调用的最佳方法是什么?