我刚开始使用SQL查询,并且正在为使用SQL Server的理发师创建数据库。 我有一个带有约会的实体,该约会的字段为日期(日期),开始时间(时间)和持续时间(时间)
Es. 02-03-2019 09:00:00 01:30:00
我也知道每天每天有多少人在轮班,因为我有一个计划实体,其字段为Date(date),Worker(varchar),StartTime(time),EndTime(time)
Es. 02-03-2019 KATE002 08:00:00 13:00:00
我想创建一个查询,该查询接收约会的日期和持续时间,以计算该日期中的可用空闲时间,并给出不同的startTime值,其中至少有一个工作人员空闲并有足够的时间供其使用。
开始时间必须是每15分钟一次,我的意思是,如果约会可以开始的时间是9到10,我不想有9:01、9:02、9:03、9 :04等作为输出,但只有9:00、9:15、9:30、9:45、10:00。
例如,接收日期:02-03-2019和持续时间2:00:00,输出将是:
10:30 10:45 and 11:00
考虑上面插入的约会和班次。
我一直在考虑从第一个班次的开始到最后一个班次的结束每15分钟循环一次,但是我猜这不是正确的主意,因为我正在处理查询。 我不知道如何执行此操作,我正在寻找一些建议。