我正在尝试在我的选择中创建“桶”。基本上我想确定记录的老化(在这种情况下是票)。老化取决于 2 个字段。如果有要求的日期,则基于此字段,如果没有要求的日期,则基于输入工单的日期。我想要完成的是拥有一个 120+、90-120 天、60-90 天、30-60 天、15-30 天、5-15 天和 1-5 天的老化桶。
以下查询无法正常工作(语法错误)。我已经盯着它太久了。
编辑格式
SELECT v_rpt_Service.TicketNbr, v_rpt_Service.Location, v_rpt_Service.Board_Name, v_rpt_Service.Status_Description, v_rpt_Service.ClosedDesc,
v_rpt_Service.ServiceType, v_rpt_Service.SubType_RecID, v_rpt_Service.ServiceSubType,
v_rpt_Service.company_name, v_rpt_Service.Summary, v_rpt_Service.team_name, v_rpt_Service.date_entered, v_rpt_Service.entered_by,
v_rpt_Service.Date_Required, v_rpt_Service.hours_budget, v_rpt_Service.Hours_Scheduled, Member.Member_ID, v_rpt_Service.Territory,
Case
When Date_Required IS Null then round((DATEDIFF(DAY,date_entered,GETDATE())+1)*.69,0) else round((DATEDIFF(Day,date_required,getdate())+1)*.69,0) END as Age,
**case when
(Case when Date_Required IS Null
then round((DATEDIFF(DAY,date_entered,GETDATE())+1)*.69,0)
else round((DATEDIFF(Day,date_required,getdate())+1)*.69,0)
end )>= 120
then '120+'
else
(Case when Date_Required IS Null
then round((DATEDIFF(DAY,date_entered,GETDATE())+1)*.69,0)
else round((DATEDIFF(Day,date_required,getdate())+1)*.69,0)
end) < 120 AND
case when Date_Required IS Null
then round((DATEDIFF(DAY,date_entered,GETDATE())+1)*.69,0)
else round((DATEDIFF(Day,date_required,getdate())+1)*.69,0)
end >= 90
then '90-120 Days'
else 'Newer'
end as Aging**
FROM Member AS Member INNER JOIN
SR_Team AS SR_Team ON Member.Member_RecID = SR_Team.Member_RecID INNER JOIN
v_rpt_Service AS v_rpt_Service ON SR_Team.Description = v_rpt_Service.team_name
WHERE (v_rpt_Service.ClosedDesc = 'Open') AND (v_rpt_Service.Board_Name = 'Solution Design')