3
我已經嘗試解決這個問題一段時間了。 我搜查了很多,但沒有人似乎有類似的問題。從兩個表中找出日期時間之間的時間差距
這裏是我的了:
Table 1/Schedule
EmployeeID, PStart, PEnd
1, 2016-07-01 08:00:00, 2016-07-01 12:00:00
1, 2016-07-01 13:00:00, 2016-07-01 17:00:00
Table 2/Bookings
EmployeeID, PStart, PEnd
1, 2016-07-01 08:00:00, 2016-07-01 08:40:00
1, 2016-07-01 09:00:00, 2016-07-01 10:10:00
1, 2016-07-01 10:30:00, 2016-07-01 11:00:00
1, 2016-07-01 13:00:00, 2016-07-01 15:00:00
1, 2016-07-01 15:00:00, 2016-07-01 15:30:00
我想比較這兩個表,並得到安排和預約時間之間的差距。沒有預定的時間。
在這個例子中,這將是
Result table/Not booked
EmployeeID, PStart, PEnd
1, 2016-07-01 08:40:00, 2016-07-01 09:00:00
1, 2016-07-01 10:10:00, 2016-07-01 10:30:00
1, 2016-07-01 11:00:00, 2016-07-01 12:00:00
1, 2016-07-01 15:30:00, 2016-07-01 17:00:00
查詢的速度是非常重要的。員工數超過150人,所以有很多行。 我們將要使用的日期範圍可能會受到限制(例如,獲得兩週的差距),而不是顯示自開始以來的所有差距。但只有這有助於查詢速度。
在此先感謝。
問候, 亞當
這個腳本非常完美,它完成了將近99%的工作。 我有另一個問題,我忘了提及。有時一個時間表從8到10開始,然後另一個時間表從10到12開始。我想知道是否可以在運行腳本之前加入它們 – AdamG
我需要在原始腳本中更改兩件事 1它沒有顯示時間表,沒有任何預訂 2當最後一次預訂到最後時的時間表 (如果您有時間,如果您有時間可以提供替代腳本,我將不勝感激,因爲我的修復使腳本變慢,但並不重要) – AdamG
我修改了腳本以顯示沒有預約的時間表(左連接和一個額外的'ISNULL'檢查),並顯示如何在預訂結束時獲得空白。它使用工會全部 – Balah