私は2つのテーブルを持っています:
Events (ID, Name, Time, Recorder)
Video (ID, StartTime, EndTime, Recorder, Filename)
イベント データをビデオ データに結合して、イベントごとにビデオ ファイル名を取得したいと考えています。レコーダー フィールドは、イベント時にどのレコーダーが操作可能であったかを指定するために使用され、複数のレコーダーが同時にビデオを録画するのを支援します。
ビデオのないイベントを気にしていなければ、これで問題ありません (SQL を取得できます) が、私の場合は、最も近いビデオ ファイル名と秒の差を表示したいと考えています。
編集
サンプルデータ
イベント
1, EV1, 2012-01-01 12:00, A
2, EV2, 2012-01-01 13:00, B
3, EV3, 2012-01-01 12:15, B
4, EV4, 2012-01-01 11:45, A
ビデオ
1, 2012-01-01 12:00, 2012-01-01 12:30, A, 1.mpg
2, 2012-01-01 13:00, 2012-01-01 13:30, A, 2.mpg
3, 2012-01-01 12:00, 2012-01-01 12:30, B, 3.mpg
結果 (EventID、VideoID、ファイル名、IsBetween、SecondsDifference)
1, 1, 1.mpg, TRUE, 0
2, 3, 3.mpg, FALSE, 1800 //1800 seconds from the end of video 3
3, 3, 3.mpg, TRUE, 900
4, 1, 1.mpg, FALSE, 900 //900 seconds from the start of video 1
ボーナス
最も近いビデオがレコーダーを考慮していない場合はさらに良いでしょう(ただし、最初の境界(開始と終了)チェックで考慮されます)これが難しすぎる場合は、それで問題ありません。