gpt4 book ai didi

mysql - 预订日期范围 mysql php

转载 作者:行者123 更新时间:2023-11-29 07:54:02 25 4
gpt4 key购买 nike

再次预订系统和日期范围。我读过这个主题Comparing date ranges和许多其他人,但找不到答案:(

请参阅 SQLFiddle http://sqlfiddle.com/#!2/89b2b/2

我有预订表,其中有 ID , ObjectID , PeriodStartPeriodEnd DATE 类型的字段在MySQL
我的示例数据如下所示:

(1, 3, '2014-08-07', '2014-08-14'),
(2, 3, '2014-08-19', '2014-08-23'),
(3, 2, '2014-08-13', '2014-08-15'),
(4, 2, '2014-08-19', '2014-08-21');

我的查询日期间隔是(已更新,为 $from = '2014-08-14'; ):

$from = '2014-08-15';
$to = '2014-08-19'

我想要ObjectID在查询日期间隔内免费
问题是,对象的2第一次预订结束于 2014-08-15我们想要从2014-08-15开始进行新的预订。与结束日期 2014-08-19 相同。现有预订从这一天开始。没问题humans因为我们将日期周期计算为 nights ,但如何将同样的事情告诉 MySQL

对于这些变量

$from = '2014-08-15';
$to = '2014-08-19'

我想要 [2, 3]作为查询结果。

对于第二个查询

$from = '2014-08-14';
$to = '2014-08-19'

我只想得到[3]查询结果,因为ObjectID 2已从 13 aug 预订至15 aug

最佳答案

完整代码为:

SELECT DISTINCT ObjectID
FROM booking
WHERE ObjectID IN
(
SELECT ObjectID
FROM booking
WHERE PeriodStart <= '2014-08-19' AND PeriodEnd >= '2014-08-14'
)

#

+----------+
| OBJECTID |
+----------+
| 2 |
| 3 |
+----------+

fiddle :http://sqlfiddle.com/#!2/89b2b/90

关于mysql - 预订日期范围 mysql php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25623162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com