0

私はT-SQLで次のことを達成する方法に苦労しており、誰かがMS SQL 2008を通じてそれを解決するのに役立つスキル(おそらく:)を手に入れたことを願っています.

TABLE1 に FK GUID のスケジュール済み (イベントと呼ばれる) があるとします。(列: ID int、FK uniqueidentifier、START datetime、STOP datetime )。

すべての基本は、一意の日が 00:00-23:59 ではなく、04:00-05:00 であることです。つまり、日は月曜日 04-05(tue)、火曜日 04-05(wed) としてカウントされます。 .

さらに... イベント (EV1 1.5 時間) を取り、次のように 2 週間スケジュールします: (1) 月 01:05 (2) 火 18:00 (3) 水 12:00 (4) 木10:05 (5)金 22:00 (6)土 19:15 (7)日 20:00 (8)月 11:00 (9)火 15:00 (10)水 23:15 (11)木 13 :10 (12)金 14:50 (13)土 22:00 (14)日 11:00

ここで、イベントが「クイック実行」または「通常実行」としてスケジュールされている時期を数えて特定する必要があります。通常の実行とは、イベントが初めてスケジュールされ、一連の 7 回 (またはそれ以下) で一意であることを意味し、クイックランは、次の日 (04-05) の同じイベントの次の 6 回 (またはそれ以下) の機会として識別されます。

イベントが 1 週間だけスケジュールされていれば、問題は小さなものでしたが、2 週間以上のスケジュールでは、それが短くても長くてもかまいませ通常走行

私が尋ねようとしているのは、一定期間にわたって特定の FK GUID に対して count(*) の通常/クイック実行を最適に選択する方法についてのヘルパーです。

私が何らかの意味を持っていることを願っており、ヒントは非常に高く評価されています.

ありがとう、ジャン

4

0 に答える 0