- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张 table ,上面有餐厅预订单。它只有一个 restaurant_id 和一个指定实际日期的日期列(我们说的是全天预订)。
我想知道特定餐厅下一个有空的周末是什么时候。 “周末”是周六或周日。如果其中一个可用,那么我们就有一个可用的周末。
查询当然应该考虑当前时间来计算下一个周末。
有人能帮忙吗?
这是“日期”表的表结构和数据,它包含到目前为止所做的所有预订:
id id_venue date
12 1 2011-04-22
13 1 2011-04-23
14 1 2011-04-24
15 1 2011-04-30
16 1 2011-05-07
17 1 2011-05-08
如您所见,5 月 23 日至 24 日的周末已满,因此 5 月 7 日至 8 日的周末已满。我需要找到的是 2001-05-01 的日期,这是今天日期之后的第一个可用的星期六或星期日。
最佳答案
我认为其他人遗漏了这个问题......他们认为你的 table 可能已经被填满了所有周末和一些关于开放与否的状态......我的猜测是你的 table 只有在保留时才有记录...因此您需要查找根本不存在的记录...基于一些自动查找日期...
这是对我完成的另一篇文章的修改here
虽然我没有更改查询的上下文,但我只放入了与您的表关联的列。我知道你只反对一张 field 表,我也是(实际上)。然而,为了理解“JustDates”别名,这个 INNER PRE-QUERY 正在通过对任何其他表进行笛卡尔连接来创建一个动态填充的所有日期表。在这种情况下,您的“Venue”预订表(我没有'看不到您的实际表名引用,因此您必须更改它)。因此,这实际上创建了一个包含所有日期的表格,从“今天”开始,并向前推进 30 天(通过限制),但可以是 40、50、300 或您需要的任意数量。提供“YourVenueTable”至少有与您要测试的天数一样多的记录。 (帖子中的相同说明来自)。此结果集将在 30、40 或任何几天后仅针对给定的一周中的第 1 天或 7 天星期六进行预过滤...因此它应该仅返回 4 月 23 日、4 月 24 日、4 月的结果集30、5月1日、5月7日、5月8日、5月14日、5月15日、5月21日、5月28日等
所以现在您有一个动态创建的结果集,其中包含您考虑前进的所有可能日期。现在,它被加入到您实际的 field 预订表中,并被过滤以仅返回那些没有找到您关注的 id_venue 的日期。在您的数据示例中,它会在 4 月 23 日和 24 日找到匹配项,并且不会返回这些记录。与 4 月 30 日相同...但是,它会发现预选列表中包含 5 月 1 日的记录不会在 field 表中找到匹配的日期,因此会按照您的预期包含它...然后它将继续跳过5 月 7 日和 8 日,然后返回 5 月 14 日、15 日、21 日、28 日等...
select JustDates.OpenDate
from
( select
@r:= date_add( @r, interval 1 day ) OpenDate
from
( select @r := current_date() ) vars,
Venue
LIMIT 30 ) JustDates
where
DAYOFWEEK( JustDates.OpenDate ) IN ( 1, 7 )
AND JustDates.OpenDate NOT IN
( select Venue.date
from Venue
where Venue.id_venue = IDYouAreInterestedIn
and Venue.Date = JustDates.OpenDate )
order by
JustDates.OpenDate
请注意,根据其他预订发布,对限制为 30 以上的预订日期可用日期的查询可以是系统中的任何表,只要它至少有您想要期待的天数预订...如果您想要来年的所有可用性,您可能希望表中的 365 条记录用于笛卡尔结果,以便通过动态创建的“日期”记录获取 @r 循环。
关于php - MySQL 找到第一个可用的周末,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5677725/
有人可以帮我解决这个问题吗?当填写周五、周六或周日时,需要返回"is",而在所有其他情况下,则需要返回“否”。每次它都以“JA”结尾...... 代码: // Nieuwe Array aan
我知道,标题并不具体,但我对 DatePicker 有疑问。我尝试禁用国庆节、周末和今天之后的 48 小时。目前我这样做了: 隐藏今天 + 48 小时,我使用 minDate: 3 隐藏周末 隐藏国庆
我必须计算以下两个日期之间的周末计数和假期计数。 var startDate = new Date("01/02/2014"); var endDate = new Date("02/
我正在尝试编写一个脚本来实现以下目的: 我需要根据一天中的时间和星期几将我页面上某个元素的颜色从绿色更改为红色。因此,例如,在星期六我需要一个不同于星期一的时间窗口。 我正在努力寻找有用的东西。我找到
给定 postgres 中的 2 个时间戳,你如何在不计算整个星期六和星期日的情况下计算时差? 或 如何计算给定时间间隔内的周六和周日的数量? 最佳答案 以下函数返回两个日期之间的完整周末天数。由于您
我无法在没有周末的情况下呈现日期时间图表。怎么做到的? 这是示例代码 ( http://jsfiddle.net/LLExL/1720/ ): $('#container').highcharts({
ax.plot_date((dates, dates), (highs, lows), '-') 我目前正在使用此命令通过 Matplotlib 绘制财务高点和低点.效果很好,但如何删除 x 轴上因没
从今天早上开始,我无法使用原始 HTTP 协议(protocol)在用户对象上设置 orgUnitPath。 PATCH /admin/directory/v1/users/testuser_1440
我有这些 Dag DAG_A(每天运行)、DAG_B(周一至周五运行)和 DAG_C(周六和周日运行),其中 DAG_A 依赖于 DAG_B 和 DAG_C。我尝试使用 External Task S
我正在使用 JQuery UI Datepicker Disbale Next Day After 12pm 中的代码禁用周末、公共(public)假期和第二天(如果在上午 10 点之后选择),但我不
我是一名优秀的程序员,十分优秀!