【发布时间】:2014-09-05 14:37:31
【问题描述】:
我有一个预订表,其中包含给定日期的可变时间范围。它们是 30 分钟、60 分钟、用户输入的任何给定分钟范围的保留时间段。
我想做的是创建一个 SQL 语句,它可以给我在给定日期的所有未保留的时间段。用户可以指定分钟范围(30 分钟、60 分钟、90 分钟)间隔。我什至从哪里开始?
预留表是基本的:
ROOM, RESERVED_DATE, FROM_TIME, TO_TIME
A 09/02/2014 9:00 AM 10:00 AM
B 09/02/2014 11:00 AM 12:00 PM
C 09/02/2014 1:30 PM 2:00 PM
我会允许用户说他们想要在特定增量(30 分钟、60 分钟、90 分钟)内的营业时间(8:00 AM - 4:30 PM)之间的所有可用房间。
【问题讨论】:
-
您需要从一个包含所有可用时隙的表开始。然后你对你的预订进行左连接。
-
预订是否总是在 30 分钟以内,或者您可以在 9:13 - 9:43 之间进行预订吗?
-
我会说,一般来说,它们落在一个小时和一个半小时的时间。它们可能会四分五裂,尽管这种情况很少见。
标签: sql sql-server