我需要一些有关正在处理的报告的帮助,即我需要一个公式或过滤器来向我显示重复呼叫(重复呼叫是在系统中提出新呼叫(呼叫时间)时该特定资产(资产编号)的通话关闭(关闭时间)的7个工作日。
我的报告中包括以下几列:
资产编号-整数
网站名称-字符串
通话时间-日期时间
关闭时间-日期时间
全名-字符串
评论-备忘录
PS:以上内容来自SQL Server 2017。
我希望以上内容足以为某人提供帮助。
我已经尝试使用“选择专家”解决该问题,但似乎无法解决。
这是我目前所拥有的:
SELECT
"T_Telesales_Service"."call_time",
"T_Employee"."NAME",
"T_Employee"."SURNAME",
"T_Employee"."GROUP_ID",
"T_Telesales_Service"."vm_id",
"T_POS"."DESCRIPTION_1",
"T_Telesales_Service"."close_time",
"T_Telesales_Service"."record_id",
"T_Telesales_Service"."eng_comments"
FROM
(("Vendmanager"."dbo"."T_Telesales_Service" "T_Telesales_Service"
LEFT OUTER JOIN "Vendmanager"."dbo"."T_Employee" "T_Employee" ON "T_Telesales_Service"."assigned_id"="T_Employee"."RECORD_ID")
LEFT OUTER JOIN "Vendmanager"."dbo"."T_POS" "T_POS" ON "T_Telesales_Service"."pos_id"="T_POS"."RECORD_ID")
INNER JOIN "Vendmanager"."dbo"."T_Library_Sys" "T_Library_Sys" ON "T_Telesales_Service"."status_id"="T_Library_Sys"."record_id"
WHERE
("T_Employee"."GROUP_ID"=2 OR "T_Employee"."GROUP_ID"=3)
ORDER BY
"T_Telesales_Service"."vm_id", "T_Telesales_Service"."call_time"
答案 0 :(得分:1)
这回答了问题的原始版本。
您可以使用lead()
:
select t.*
from (select t.*,
lead(call_time) over (partition by assetnumber order by call_time) as next_call_time
from t
) t
where next_call_time < dateadd(day, 7, call_time);