我有两个具有时隙功能的时隙,第一个是当一个人被预订时,第二个表是可以完成任务的时隙。
我需要一直寻找可以在哪里完成任务以及由谁完成的任务。
表a是预定该人的时间列表。
表b列出了可以交叉连接任务的所有时隙,并列出了可以执行任务的人
table a
2019-03-28 00:00:00.0000000 | 2019-03-28 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 00:00:00.0000000 | 2019-03-29 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-30 00:00:00.0000000 | 2019-03-30 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-31 00:00:00.0000000 | 2019-03-31 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-01 00:00:00.0000000 | 2019-04-01 07:00:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-01 13:00:00.0000000 | 2019-04-01 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-02 00:00:00.0000000 | 2019-04-02 07:00:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-02 13:00:00.0000000 | 2019-04-02 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-03 00:00:00.0000000 | 2019-04-03 07:00:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-04-03 19:00:00.0000000 | 2019-04-03 23:59:00.0000000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
table b
2019-03-29 18:00:00.000 | 2019-03-29 20:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 19:00:00.000 | 2019-03-29 21:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 20:00:00.000 | 2019-03-29 22:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 21:00:00.000 | 2019-03-29 23:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 22:00:00.000 | 2019-03-30 00:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-29 23:00:00.000 | 2019-03-30 01:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-30 00:00:00.000 | 2019-03-30 02:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-30 03:00:00.000 | 2019-03-30 05:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-30 04:00:00.000 | 2019-03-30 06:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
2019-03-30 05:00:00.000 | 2019-03-30 07:00:00.000 | C235E2D9-F1C8-4D04-BA71-097BE66135E6
DECLARE @BookedTimeslot TABLE (
[StartTime] datetime2(7),
[EndTime] datetime2(7),
[StakeholderId] uniqueidentifier
)
DECLARE @PossibleTimeslot TABLE (
[StartTime] datetime2(7),
[EndTime] datetime2(7),
[StakeholderId] uniqueidentifier
)
答案 0 :(得分:1)
听起来像您想要B中没有匹配记录的人(ID)的B时间跨度重叠的A记录的行。
Apps & Features