我正在做一个大厅预订申请。
一个机构有很多大厅。
所有大厅都有固定的开始时间和结束时间,插槽应在其中落下。
这些在Hall表中定义,字段为HallID,OpeningTime,ClosingTime。
HallBooking表包含预订详情。字段是HallID,Duration,StartTime,EndTime。
预订不基于预定义的广告位。开始时间和结束时间可以是Hall OpeningTime和ClosingTime之间的任何位置。标准是大厅应该在当天任何地方都有一个免费插槽来容纳持续时间。
所以摘要是:
桌厅(HallID,OpeningTime,ClosingTime) 表HallBooking(HallID,持续时间,开始时间,结束时间)
预订搜索的输入:日期,持续时间
我正在使用SQL Server 2005.如何获得显示所有大厅中所有可用插槽的可用性表/视图?我想如果我能得到这个可用性表/视图,我可以从那里开始。
答案 0 :(得分:0)
这就是我要做的。我会为每个大厅创建一个可用插槽表(按小时或半小时或您计划的最短时间)。然后我会在计划时间时将它们标记为已使用。我会在接下来的一年或者六个月内进行填充,或者你愿意安排。然后每个星期我都会运行一个自动化的工作,这个工作将填补下一周价值的时段。所以我从2009年8月1日到2010年8月1日填写了一周后,自动化工作将为2010年8月2日至8日增加插槽。
我之所以这样做是因为查询开放时隙表非常快,根据预定的时隙来计算开放时段并不是那么快。