У меня есть таблица SR_Audit, которая содержит все обновления для каждого билета в нашей системе билетов на службу Helpdesk.Query Distinct на одной колонке
Таблица форматируется в соответствии с приведенной ниже репрезентации:
|-----------------|------------------|------------|------------|------------|
| SR_Audit_RecID | SR_Service_RecID | Audit_text | Updated_By | Last_Update|
|-----------------|------------------|------------|------------|------------|
|........PK.......|.......FK.........|
Я построил ниже запрос, который предоставляет мне соответствующий вывод, что я требую в формате я хочу его. То есть, я ищу, чтобы определить, сколько билетов каждый сотрудник заканчивает каждый день в течение месяца.
select SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101) as DateOfClose, count (*) as NumberClosed
from SR_Audit
where SR_Audit.Audit_Text LIKE '%to "Completed"%' AND SR_Audit.Last_Update >= DATEADD(day, -30, GETDATE())
group by SR_audit.updated_by, CONVERT(CHAR(10),SR_Audit.Last_Update,101)
order by CONVERT(CHAR(10),SR_Audit.Last_Update,101)
Однако у запроса есть одна слабость, которую я хочу преодолеть.
Билет может быть вновь открыт после его завершения, что означает, что он может быть завершен снова. Это позволяет персоналу искусственно раздувать свой счет, повторно открывая билет и завершая его снова, тем самым увеличивая количество завершенных билетов на каждый каждый раз, когда они это делают.
В таблице указано поле SR_Service_RecID, которое по сути является номером билета. Я хочу поставить условие в запросе, чтобы каждый билет учитывался только один раз, независимо от того, сколько раз его завершали, все еще соблюдая текущее предложение where.
Я пробовал sub-запросы и несколько других методов, но не смог получить результаты, которые мне нужны.
Любая помощь будет оценена по достоинству.
Cheers.
Куртенэ
Точно, что я был после. И красивая в своей простоте - Спасибо! – Courtenay