У меня есть таблица со столбцом «дата открытия звонка» (actual_log_date), которую я конвертирую, используя
convert(char(10), actual_log_date, 103) 'Call Logged'
для отображения вызовов, зарегистрированных на 01/02/2012, например.
Существует также столбец времени закрытия (close_time), для которого я запускаю то же преобразование,
convert(char(10), close_time, 103) 'Call Closed'
для отображения вызовов, закрытых 12/02/2012.
Теперь мне нужно создать сценарий, чтобы узнать среднее количество дней, в течение которых звонки были открыты. Я могу запустить
(select datediff(dd, c.actual_log_date, c.close_time)) as 'Days Open'
чтобы создать столбец, который показывает, что вызов был открыт в течение 12 дней или что-то еще, но теперь нужно посчитать все записи и получить среднюю сумму в конце результатов, где я застрял!
Я забыл сказать, что не могу создать временную таблицу, поскольку у меня есть только права на чтение.
Извините, я новичок здесь, поэтому не уверен в протоколе, но вот сценарий, если легче ответить, увидев, с чем я работаю;
select
convert(char(10),actual_log_date,103) 'Call Logged',
call_number 'Call #',
short_problem 'Issue Description',
Customer = (select surname + ', ' + first_name from i.ar_user_attributes where ref = user_ref ),
Officer = (select surname + ', ' + first_name from i.su_help_centre where ref = resolve_officer),
Department = (select name from i.su_support_group where ref = resolve_group),
convert(char(10),close_time,103) 'Closed',
(select datediff(hh,c.actual_log_date,c.close_time)) as 'Hours Open',
(select datediff(dd,c.actual_log_date,c.close_time)) as 'Days Open'
from
i.cl_call_logging c
where
c.resolve_time between
convert(datetime,convert(varchar,month(dateadd(m,-1,getdate()))) + '/01/' + convert(varchar,year(dateadd(m,-1,getdate())))) and
convert(datetime,convert(varchar,month(getdate())) + '/01/' + convert(varchar,year(getdate())))
and c.resolve_group in ('48', '60')
Еще раз спасибо!