я имею Reports
таблицу в SQL Server, как это:Объединение записей в SQL Server по времени начала и окончания
Мне нужно объединить записи в таблице с таким же CallNumber
и type = Unanswered
и разностной StartDate
один рекорд и EndDate
другой менее одного. Для примера разностной операции смотрите в следующем:
Результат таблица выглядит так:
я выполнить этот запрос для получить записи, которые должны быть сливаться, но я не знаете, как объединить эти записи.
select t1.CallNumber,t1.id,t1.EndDate,t2.Id,t2.StartDate
from Reports as t1
left join Reports as t2 on t1.CallNumber = t2.CallNumber and t1.type=t2.type
where
t1.EndDate < t2.StartDate
and DATEDIFF(MINUTE,t1.EndDate,t2.StartDate) < 1
and t1.type = 'Unanswered'
group by t1.CallNumber,t1.id,t1.EndDate,t2.Id,t2.StartDate
Было бы очень полезно, если бы кто-то мог объяснить решение для запроса, которое возвращает таблицу результатов.
Вам нужен запрос или вам необходимо удалить эти данные навсегда? –
@GiorgiNakeuri Мне нужно запросить эту таблицу результатов возврата. –
Я не уверен, что вы имеете в виду под «и StartDate одна запись, а EndDate другой меньше единицы». Я думал, что периоды должны быть непрерывными с одним периодом окончания и следующим стартом через секунду (как в первых двух примерах), но в третьем примере между записями есть 5 секунд. Итак, что означает эта фраза? –