【发布时间】:2016-12-06 18:36:48
【问题描述】:
我有一个奇怪的问题要解决。
在我的模型中,我有 start_time 和 end_time,我们将模型称为“成本”。它与一个项目相关联。
该商品将全天更改价格,因此周一早上 5 点到下午 1 点是一个价格,下午 1 点到下午 5 点是另一个价格。然后在下午 5 点到下午 6 点之间不可用,并且在晚上 7 点到第二天凌晨 2 点之间提供第三个价格。
表示这些数据并不难,我有一个包含成本和开始/结束时间的表。
问题是我有固定数量的项目,以及可变的时间成本。
我可以搜索和检查以确保我在单个时间段内有可用的项目,并确保它在该时间段内实际上是“可出租的”。
如何处理跨多行的查询(例如(下午 4 点 - 晚上 7 点,会失败,或早上 6 点 - 下午 3 点,会通过),以确保它在连续的时间间隔内可用?
您将如何检查表中的行并确保它们是连续的?这类问题有名称吗?
【问题讨论】:
-
您好,如果您包含实际的表定义和完整的示例查询,即使是英文而不是 SQL,也会更容易回答您的问题。
-
创建一小时或半小时的行,然后通过检查相应行的可用性来检查该项目是否可供出租。可以看看activity selection problem。
标签: sql ruby-on-rails ruby postgresql