选择专家查询

时间:2019-11-05 15:40:38

标签: sql crystal-reports

我需要一些有关正在处理的报告的帮助,即我需要一个公式或过滤器来向我显示重复呼叫(重复呼叫是在系统中提出新呼叫(呼叫时间)时该特定资产(资产编号)的通话关闭(关闭时间)的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"

1 个答案:

答案 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);