次のようなデータのテーブルがあります。
ID | EventName | StartTime | EndTime |
1 Event1 2012-08-08 10:00:00 ???
2 Event1 2012-08-08 10:15:00 ???
3 Event1 2012-08-08 11:35:00 ???
4 Event2 2012-08-08 11:50:00 ???
5 Event2 2012-08-08 12:05:00 ???
6 Event1 2012-08-08 12:23:00 ???
7 Event1 2012-08-08 12:40:00 ???
8 Event2 2012-08-08 13:47:00 ???
このデータは、イベント 1 が 10 OClock で開始され、11:50 (イベント 2 の開始時間) まで実行されたことを示すためのものです。その後、イベント 2 が 11:50 から 12:23 まで実行され、その時点でイベント 1 が再び開始されました。
同じイベントのブロックをグループ化し、イベントの終了時刻を次のイベントの開始時刻に設定したいと考えています。結果のテーブルは次のようになります。
EventName | StartTime | EndTime |
Event1 2012-08-08 10:00:00 2012-08-08 11:50:00
Event2 2012-08-08 11:50:00 2012-08-08 12:23:00
Event1 2012-08-08 12:23:00 2012-08-08 13:47:00
Event2 2012-08-08 13:47:00 NULL