我的会议室包含所有预订信息,我想根据用户的输入向用户返回预订时间(开始时间和结束时间)。
房间:
ID Name Type StartTime EndTime
01 Room01 1 8:00:00 8:30:00
02 Room02 2 9:00:00 9:30:00
01 Room01 1 9:00:00 9:30:00
02 Room02 2 10:00:00 9:00:00
01 Room01 1 11:00:00 11:30:00
02 Room02 2 13:00:00 13:30:00
案例1 :如果客户要预订开始时间:8:00:00 并进行持续时间预订: 30分钟(结束时间:8:30:00)< / strong>。在我的数据库中,因为预订Room01已有预订,所以Room 02在预定时间内没有预订。我想要postgres返回是: Room02开始时间:8:00:00和结束时间:8:30:00
案例2::如果客户要预订开始时间:5:00:00 并进行持续时间:30分钟(结束时间:5:30:00 )。在我的数据库中,因为有两个房间空闲。我想要postgres返回Room01或Room02: Room01开始时间:5:00:00和结束时间:5:30:00
案例3::如果客户要预订开始时间:9:00:00 ,并且预订时间:30分钟(结束时间:9:30:00 )。在我的数据库中,因为Room01和Room02已预订。我希望postgres返回时间最接近用户预订时间。在我的数据库中查找,Postgres应该返回的是: Room01开始时间:9:30:00和结束时间:10:00:00(Room2是免费的,但并非最接近用户预订时间)
如何在postgres sql中做到这一点。我已经将近3天的时间遇到了这个问题,但是还没有找到最佳的计划。请帮助