Альтернатива функции опережающего отставания в SQL Server 2008

Я хочу сравнить текущую строку со значением в следующей строке. SQL имеетLEAD а такжеLAG функции для получения следующих и предыдущих значений, но я не могу их использовать, потому что я использую SQL Server 2008.

Так как мне это получить?

У меня есть таблица с выводом

+----+-------+-----------+-------------------------+
| Id | ActId |  StatusId |       MinStartTime      |
+----+-------+-----------+-------------------------+
| 1  |  42   | 1         | 2014-02-14 11:17:21.203 |
| 2  |  42   | 1         | 2014-02-14 11:50:19.367 |
| 3  |  42   | 1         | 2014-02-14 11:50:19.380 |
| 4  |  42   | 6         | 2014-02-17 05:25:57.280 |
| 5  |  42   | 6         | 2014-02-19 06:09:33.150 |
| 6  |  42   | 1         | 2014-02-19 06:11:24.393 |
| 7  |  42   | 6         | 2014-02-19 06:11:24.410 |
| 8  |  42   | 8         | 2014-02-19 06:44:47.070 |
+----+-------+-----------+-------------------------+

Что я хочу сделать, это если текущий статус строки равен 1, а статус следующей строки равен 6, и оба раза одинаковы (до минут), то я хочу получить строку, в которой статус равен 1.

Например: строка Id 6 имеет статус 1, а строка Id 7 имеет статус 6, но оба раза одинаковы, т.е. 2014-02-19 06:11

Поэтому я хочу получить эту строку или идентификатор для статуса 1, т.е. ID 6

Ответы на вопрос(3)

Ваш ответ на вопрос