EquipmentUseId CollectionPointId EmployeeNum ShopOrder StartDateTime
366 69 9999 999999 4/26/13 3:29 PM
373 69 4878 107321 4/26/13 10:19 PM
385 69 4971 107321 4/27/13 7:35 AM
393 69 4179 107325 4/30/13 7:24 AM
394 69 4179 107325 4/30/13 7:38 AM
395 69 4179 107325 4/30/13 10:28 AM
398 69 4179 107325 4/30/13 2:41 PM
399 69 9999 999999 4/30/13 2:43 PM
400 69 9999 999999 4/30/13 2:46 PM
上記の表を考えると、私には独特の問題が残っており、それを説明するのは難しいかもしれません. Employee ごとの ShopOrder ごとに StartDateTime がありますが、StopDateTime はありません。これは設計によるものです。ただし、ある ShopOrder の StartDateTime と次の ShopOrder の StartDateTime の時間差を計算できる必要があります。例: SO # 999999 は 4/26 の 15:29 に従業員 9999 によって開始され、新しい SO # 107321 は従業員 4878 によって 4/26 の 22:19 に開始されます。4/ の差を計算する必要があります。 2013 年 4 月 26 日 22:19 および 2013 年 4 月 26 日 15:29。これにより、SO# 9999 の退勤日がわかりますが、実際には二次プロセスが必要です。今のところ、私は時間を得ることができる必要があります。問題の 1 つは、SO # が同じ場合、最初の StartDateTime のみを使用することです。および次の SO # の最初の StartDateTime。申し訳ありませんが、これは非常に長く、この時点で何かを説明したかどうかさえわかりません.
ゆっくりしてください...長い一日でした。
2013 年 8 月 19 日の出力用に編集:
週末に熟考した後、このクエリはアプリケーション/レポート全体の最初のステップにすぎないため、EndDateTime を使用するのが最善であると判断しました。
また、EmployeeNum はアプリケーションのこの部分には関係ありません。
これはどのように見えるべきですか (EquipmentUseID は PK で、CollectionPointID は常に 69 なので、出力に表示する必要はありません)。
ShopOrder StartDateTime EndDateTime 999999 4/26/13 3:29 PM 4/26/13 10:19 PM 107321 4/26/13 10:19 PM 4/30/13 7:24 AM 107325 4/30/13 7:24 AM 4/30/13 2:43 PM 999999 4/30/13 2:43 PM <next SO# StartDateTime>
この表を要約するには、SO# 、SO#ごとのStartDateTime (既に表にある)、および実際には次の SO# の StartDateTime である EndDateTime が必要です。これで問題が解決することを願っています。混乱して申し訳ありません。