2

SQL を使用して非常に複雑な関数を実装する必要があり、どこから始めればよいかわかりません。

--------------------------------------------------------
Entity | Source |Destination |  Time
--------------------------------------------------------
E1     |   -    |  T12       |2012-05-17 10:13:01.000
E2     |   -    |  T22       |2012-05-17 10:13:02.000
E1     |   T12  |  T22       |2012-05-17 10:13:03.000
E2     |   T22  |  T12       |2012-05-17 10:13:04.000
E1     |   T22  |  T12       |2012-05-17 10:13:05.000
E2     |   T12  |  T21       |2012-05-17 10:13:06.000
E1     |   T12  |  T13       |2012-05-17 10:13:07.000
E2     |   T21  |  T23       |2012-05-17 10:13:08.000

---------------------------------------------------
Src/Dest | Type
---------------------------------------------------
   T11   | T1
   T12   | T1  
   T13   | T1 
   T21   | T2       
   T22   |  T2
   T23   |  T2
-----------------------------------------------------

両方のタイプの各エンティティが費やした合計時間を計算する必要があります。

例えば:

E1 は T12 で 2 秒 (13:01-13:03)、T22 で 2 秒 (13:05-13:05)、T12 で 2 秒 (13:05-13:07) を費やしました。したがって、T1 に費やされた時間は 4 秒で、T2 に費やされた時間は 2 秒です。

E2 は、T22 で 2 秒 (13:02-13:04)、T12 で 2 秒 (13:04-13:06)、T21 で 2 秒 (13:06-13:08) を費やしました。したがって、T1 に費やされた時間は 2 秒で、T2 に費やされた時間は 4 秒です。

注: 最大 - 最小時間は実行できません。利用可能な記録がなくなるまで、時間を蓄積し続ける必要があります。

SQL Server 2012 でこれを行う最も簡単な方法は何ですか? 必要に応じて、中間テーブルを作成できます。ありがとう!

4

1 に答える 1