重複の可能性:
クエリ レコードと時間ブロックによるグループ化
プロジェクトの途中で立ち往生しています。問題は、日付と時刻を指定してスタッフの総数を計算することです。私が持っているテーブルは次のとおりです。 テーブル 1: 日付と時刻の情報を保持する
Timeid | startDate | endDate | startTime | endTime |
1 | 2012-07-05 | 2012-07-05 | 08:30:00 | 10:00:00 |
2 | 2012-07-05 | 2012-07-06 | 10:30:00 | 12:00:00 |
3 | 2012-07-04 | 2012-07-07 | 08:30:00 | 17:00:00 |
4 | 2012-07-05 | 2012-07-08 | 12:30:00 | 14:00:00 |
5 | 2012-07-04 | 2012-07-06 | 12:30:00 | 14:00:00 |
6 | 2012-07-05 | 2012-07-05 | 08:30:00 | 10:00:00 |
7 | 2012-07-05 | 2012-07-06 | 10:30:00 | 12:00:00 |
表 2: 日時に関連する id 情報に関連するスタッフ情報をストローする。
Autoid | TimeId | stuffId | amountOfStuff |
1 | 1 | 2 | 1 |
2 | 2 | 2 | 1 |
3 | 3 | 2 | 1 |
4 | 4 | 2 | 1 |
5 | 5 | 2 | 1 |
6 | 6 | 2 | 1 |
7 | 7 | 2 | 1 |
テーブルに見られるように、テーブル間には timeID の関係があります。特定の日付範囲に使用されているもの (amountofstuff) の数を計算したいと考えています。
たとえば、日付 startDate:05.07.2012 および endDate:05.07.2012 および startTime: 07:00:00 endTime: 21:00:00 の table2 に格納されているものの合計 amountofStuff が必要です。ただし、タイムがクロス/カットされていない場合は、カウントされません。このクエリの結果は "3" になるはずです... 説明のための数字は次のとおりです: 以下の数字は TimeId であることに注意してください。
|--1--| |--2--| |--4--|
|-----------3-----------------------|
|--6--| |--7--| |--5--|
結果は「3」です。startDate:05.07.2012 および endDate:05.07.2012 および startTime: 07:00:00 endTime: 21:00:00 から使用されたものの量。
今、すべてを明確に説明できたことを願っています。詳細については、私に知らせてください。ありがとうございました。