Я использую Management Studio и хочу создать пользовательский столбец на основе существующего столбца. У меня есть существующий столбец, который имеет приоритет билета. Тип данных столбца приоритета - int. Так что в основном у разных prios разное время SLA.
Это в следующих часах:
- 1 = 48: 00
- 2 = 08: 00
- 3 = 04: 00
- 4 = 01: 00
- 5 = прямой
Возможно ли сделать это в моем следующем запросе, который я использую?:
SELECT
[plugin.tickets].[Ticket].Id
,[plugin.tickets].[Ticket].Title
,[plugin.tickets].[Ticket].Created
,[plugin.tickets].[Ticket].StartProgress
,[plugin.tickets].[Ticket].firstresponse
,q.OpenstaandeTijdInUren
,s.ReactietijdInUren
,CONVERT(VARCHAR(5),(DATEADD(MINUTE, SUM(DATEDIFF(MINUTE, '00:00:00', EndTime)), '00:00:00')),108) as FacturatieTijd
,[plugin.tickets].[Ticket].Status
,[plugin.tickets].[Ticket].Priority
FROM [plugin.tickets].[Ticket]
LEFT JOIN [plugin.tickets].TicketActivity ON TicketActivity.TicketId = [plugin.tickets].Ticket.Id
LEFT JOIN [dbo].Activity ON Activity.Id = TicketActivity.ActivityId
Cross Apply (select [dbo].[worktime]([plugin.tickets].[Ticket].Created, GetDate()) as OpenstaandeTijdInUren) q
Cross Apply (select [dbo].[worktime]([plugin.tickets].[Ticket].Created, [plugin.tickets].[Ticket].FirstResponse) as ReactietijdInUren) s
where
[plugin.tickets].[Ticket].Created >= DATEADD(DAY, -30000, GETDATE())
AND [plugin.tickets].[Ticket].Created < DATEADD(HOUR, -1, GETDATE())
AND [plugin.tickets].[Ticket].status <= 2
AND q.OpenstaandeTijdInUren >= 1
GROUP BY
[plugin.tickets].[Ticket].id
,[plugin.tickets].[Ticket].Title
,[plugin.tickets].[Ticket].Created
,[plugin.tickets].[Ticket].StartProgress
,[plugin.tickets].[Ticket].firstresponse
,[plugin.tickets].[Ticket].Status
,[plugin.tickets].[Ticket].Priority
,q.OpenstaandeTijdInUren
,s.ReactietijdInUren
ORDER BY
[plugin.tickets].[Ticket].id
Моя конечная цель - проверить, какой билет почти истек по времени SLA.
Спасибо
Потертый