SSRS / SQLプロジェクトに取り組んでいて、日付間のギャップを取得するためのクエリを作成しようとしていますが、これを作成する方法が完全にわかりません。基本的に、使用をスケジュールできるデバイスがいくつかあり、次のレポートが必要です。それらが使用されていないときに表示します。
デバイスID、EventStart、およびEventEndの時刻を含むテーブルがあります。クエリを実行して、各デバイスのこれらのイベント間の時刻を取得する必要がありますが、これを行う方法がよくわかりません。
例えば:
Device 1 Event A runs from `01/01/2012 08:00 - 01/01/2012 10:00`
Device 1 Event B runs from `01/01/2012 18:00 - 01/01/2012 20:00`
Device 1 Event C runs from `02/01/2012 18:00 - 02/01/2012 20:00`
Device 2 Event A runs from `01/01/2012 08:00 - 01/01/2012 10:00`
Device 2 Event B runs from `01/01/2012 18:00 - 01/01/2012 20:00`
私のクエリはその結果として持つべきです
`Device 1 01/01/2012 10:00 - 01/01/2012 18:00`
`Device 1 01/01/2012 20:00 - 02/01/2012 18:00`
`Device 2 01/01/2012 10:00 - 01/01/2012 18:00`
この表には、平均して約4〜5台のデバイスがあり、おそらく200〜300以上のイベントがあります。
更新:
わかりました。これを更新して、もう少し情報を提供してみます。これについてはあまりよく説明していないようです(申し訳ありません!)
私が扱っているのは、イベントの詳細が記載されたテーブルです。各イベントはフライトシミュレーターの予約です。多数のフライトシミュレーション(テーブルではデバイスと呼ばれます)があり、SSRSレポートを生成しようとしています。各シムが利用可能な日/時間を示すために顧客に提供することができます。
したがって、開始日/終了日パラメーターを渡し、それらの日付の間のすべての可用性を選択します。結果は次のように表示されます。
Device Available_From Available_To
1 01/01/2012 10:00 01/01/2012 18:00`
1 01/01/2012 20:00 02/01/2012 18:00`
2 01/01/2012 10:00 01/01/2012 18:00`
また、イベントが重複することもありますが、これは非常にまれであり、データが不良であるため、各デバイスの可用性を個別に知る必要があるため、あるデバイスのイベントが別のデバイスのイベントと重複することは問題ではありません。