BLUF:
-我正在使用2008 R2,但无权访问split_string。
-设备列表列的数据结构一团糟,但不可避免。这是一个外部实体,我无法控制它们如何存储数据。
我正在尝试查询一个表,以查明是否同时请求了特定的计算机。每行是用户使用特定计算机的请求。数据库是一个单一的表,其结构如下:
ReqID | Start | End | Equipment
01 | 02/17/2019 09:00 | 02/17/2019 10:00 | [Rm01] Dell01, Dell02 [Rm02] Dell04, HP04 [Rm03] Dell07, HP07
02 | 02/17/2019 07:00 | 02/17/2019 13:00 | [Rm01] HP01 [Rm02] Dell04 [Rm03] HP07, HP08
03 | 02/17/2019 07:00 | 02/17/2019 23:30 | [Rm02] Dell04, Dell05, Dell06
在上面的示例中,Rm03中的HP07从09:00-10:00进行了两次预订,Rm02中的Dell04从09:00-10:00进行了三预订,随后从07:00-09:00进行了两次预订,并且10:00-13:00。
结果集将显示预订了两倍/三倍的房间和计算机,以及ReqID的要求。作为奖励,如果它可以延长被超额预定的时间,那将非常有帮助。例如:
Equipment | ReqIDs | OverbookStart | OverbookEnd
Rm03 HP07 | 01, 02 | 02/17/2019 09:00 | 02/17/2019 10:00
Rm02 Dell04 | 01, 02, 03 | 02/17/2019 07:00 | 02/17/2019 13:00
预订是两本书还是三本书都没有关系,除非找到答案可以使解决方案更容易。我只需要知道要求相同设备的重叠ReqID。