0

重複の可能性:
クエリ レコードと時間ブロックによるグループ化

プロジェクトの途中で立ち往生しています。問題は、日付と時刻を指定してスタッフの総数を計算することです。私が持っているテーブルは次のとおりです。 テーブル 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 から使用されたものの量。

今、すべてを明確に説明できたことを願っています。詳細については、私に知らせてください。ありがとうございました。

4

0 に答える 0