Повторная запись и повторная отправка этого вопроса, поскольку предыдущий вопрос был беспорядок. Мои извинения.Добавление в минутах между строками в SQL Server 2008 - Обновлено
Я пытаюсь создать отчет, показывающий, как долго длится конкретные события, в частности время между событиями. Пример данных, я работаю с является:
> LoggedOnUser|EventDate |EventTime|EventID
> DWH |08/10/2015|07:45:00 |4624
> DWH |08/10/2015|07:46:00 |4800
> DWH |08/10/2015|07:50:00 |4801
> DWH |08/10/2015|08:27:00 |4800
> DWH |08/10/2015|16:18:00 |4801
> DWH |08/10/2015|16:31:00 |4647
данных просто и запрос, используемым для выбора выше
SELECT sd.LoggedOnUser
, sd.EventDate
, CAST(dateadd(mi, datediff(mi, 0, sd.EventTime), 0)
AS TIME(7)) AS EventTime
, sd.EventID
FROM dbo.tblStaffLoggedInDetails AS sd
WHERE LoggedOnUser = 'DWH'
AND EventDate = '08-Oct-2015'
У меня есть Interval таблицы, которая имеет все 1-минутные интервалы , Желаемый результат будет:
> LoggedOnUser|EventDate |EventTime|EventID
> DWH |08/10/2015|07:45:00 |4624
> DWH |08/10/2015|07:46:00 |4800
> DWH |08/10/2015|07:47:00 |4800
> DWH |08/10/2015|07:48:00 |4800
> DWH |08/10/2015|07:49:00 |4800
> DWH |08/10/2015|07:50:00 |4801
> DWH |08/10/2015|07:51:00 |4801
> DWH |08/10/2015|07:52:00 |4801
> DWH |08/10/2015|07:53:00 |4801
> DWH |08/10/2015|07:54:00 |4801
и так далее ...
Я до сих пор добрались до этой точки
SELECT ii.IntervalHHMM
, dd.LoggedOnUser
, dd.EventDate
, dd.EventTime
, dd.EventID
FROM (SELECT IntervalHHMM
FROM dtLookups.dbo.tblIntervalHHMM AS i) AS ii LEFT OUTER JOIN
(SELECT LoggedOnUser
, EventDate
, CAST(DATEADD(mi, DATEDIFF(mi, 0, EventTime), 0)
AS TIME(7)) AS EventTime
, EventID
, Action
FROM dbo.tblStaffLoggedInDetails AS sd
WHERE (LoggedOnUser = 'DWH') AND (EventDate = '08-Oct-2015'))
AS dd
ON ii.IntervalHHMM = dd.EventTime
GROUP BY dd.LoggedOnUser, dd.EventDate,
dd.EventTime, dd.EventID,
dd.Action, ii.IntervalHHMM
ORDER BY ii.IntervalHHMM
, который работает в определенной степени, но имеет много NULLS. См. Изображение ниже для того, что я сейчас возвращаю и что в идеале мне нужно.