У меня есть таблица SO_STATUS, которая записывает запись для каждого изменения статуса для заказа на обслуживание (мы будем называть Service_Order_ID «Job_ID»). Job_ID ссылается на таблицу SERVICE_ORDER. Когда инициализируется заказ на обслуживание, запись записывается для этого типа статуса «open» (StatusType 2), который показывает дату-время. Затем другая запись записывается в таблицу состояния, когда она «находится в процессе» (StatusType 1). А также, когда заказ на обслуживание «закрыт», другая запись, записанная в таблице состояния (StatusType 3). Существуют и другие типы состояний, которые могут произойти, но они являются наиболее распространенными. Данные в таблице SO_STATUS выглядит следующим образом:Как найти разницу между двумя датами в одном столбце?
id Date Job_ID StatusTypeID EmployeeID
1 2012-01-01 09:05:00.000 51 2 5
2 2012-01-01 10:00:00.000 52 2 12
3 2012-01-01 10:01:00.000 51 1 5
4 2012-01-01 12:15:00.000 53 2 8
5 2012-01-01 12:16:00.000 51 3 5
6 2012-01-01 13:00:00.000 52 1 12
7 2012-01-01 14:00:00.000 52 3 12
8 2012-01-01 14:15:00.000 53 1 8
9 2012-01-01 15:00:00.000 54 2 11
10 2012-01-01 16:30:00.000 53 3 8
11 2012-01-01 15:00:00.000 54 1 11
12 2012-01-01 16:30:00.000 54 3 11
мне нужно, чтобы быть в состоянии найти время, прошедшее между каждым изменением состояния каждого JOB_ID. По существу, продолжительность времени, проведенного от открытого до закрытия для работы.
Вывод будет выглядеть примерно так (EmployeeName будет ссылаться из таблицы EMPLOYEE):
Job_ID Duration EmployeeName
51 03:11:00 Kyle
52 04:00:00 Chris
53 04:15:00 Fred
54 01:30:00 John
Как бы я идти о получении этого выхода? Спасибо.