Я сделал запрос:Найти разницу между часами
SELECT
MemberId,
FirstName,LastName,
[DateOfChange]
,(select title from StatusList where idStatus=[OldStatus]) as [OldStatus]
,(select title from StatusList where idStatus=[NewStatus]) as [NewStatus]
FROM [statusLog] , Users where
statusLog.IdUser=Users.IdUser
Этот запрос дает мне следующий результат:
У меня есть OLDSTATUS и NEWSTATUS и DateOfChange статуса в колонке.
Я просто хотел иметь разницу в часах изменения статуса.
т.е. от DateOfChange Для Старый Статус OnCall патрулировать я хочу найти разницу между двумя датами, как:
2014-04-04 16:13:33:000 and 2014-04-04 16:13:44:000
Я пробовал:
SELECT
MemberId,
FirstName,LastName,
[DateOfChange],
DATEDIFF(HOUR,select [DateOfChange] from statusLog,Users where idstatus=[OldStatus]
,select [DateOfChange] from statusLog,Users where idstatus=[NewStatus])
,(select title from StatusList where idStatus=[OldStatus]) as [OldStatus]
,(select title from StatusList where idStatus=[NewStatus]) as [NewStatus]
FROM [statusLog] , Users where
statusLog.IdUser=Users.IdUser
Но это оленья кожа работала.
две таблицы, которые я присоединившиеся являются:
Пользователи:
statusLog:
Пожалуйста, помогите мне.
Как я могу иметь разницу в часах, подобных этому в запросе выше?
Edit:
SELECT
MemberId,
FirstName,LastName,
[DateOfChange] ,
(SELECT
DATEDIFF(HOUR, SL.DateOfChange, SLN.StatusTo) AS StatusDuration
FROM
StatusLog SL
OUTER APPLY (
SELECT TOP(1)
DateOfChange AS StatusTo
FROM
StatusLog SLT
WHERE
SL.IdUser = SLT.IdUser
AND SLT.DateOfChange > SL.DateOfChange
ORDER BY
SLT.DateOfChange ASC
) SLN) Hourss
,(select title from StatusList where idStatus=[OldStatus]) as [OldStatus]
,(select title from StatusList where idStatus=[NewStatus]) as [NewStatus]
FROM [statusLog] , Users where
statusLog.IdUser=Users.IdUser
Edit 2:
его отображение неправильных значений –
Я сделал редактирование 7 минут назад, добавив заказ в подборе select. Вы пробовали после смены? –
Да, я сделал это и получил результат, как указано выше, в редакторе 2, но его неправильная разница в часах –