我有一个停车应用程序,为了安排部分,我有以下两个表:
时间表:
ScheduleDetail
在一个计划期间内(例如StartDate:2016年1月1日 - 结束日期:2017年1月1日)我可以有一个或多个附表(例如StartDate:2016年1月3日 - 结束日期:7 / 3/2016,StartDate:1/5/2016 - EndDate:25/5/2016),每个都有自己的ScheduleDetail。即使在每个子计划中,我也可以有一个或多个附表。
我基本上结束了这种结构,让用户在一定时期内定义不同的可用性。例如,如果在2016年,他们希望在圣诞节公共假期或任何其他场合有不同类型的可用性。或者,如果他们想从某个时期删除某一天。
我的问题是如何查询这样的表结构,以获得最内部定义的Schedule和ScheduleDetails作为正确的可用性。
示例数据
我需要有一个逻辑来根据请求提供以下输出:
2/03/2016 10:00 - 2/03/2016 14:00在ScheduleDetailId中落入10,这意味着无法使用
1/05/2016 10:00 - 1/05/2016 11:00在ScheduleDetailId中落入15,这意味着可用
10/03/2016 10:00 - 10/03/2016 11:00在ScheduleDetailId中落入20,这意味着无法使用
2/01/2016 9:00 - 2/01/2016 11:00在ScheduleDetailId中落入6,这意味着可用
提前感谢您的帮助:)