gpt4 book ai didi

mysql - 想要从餐 table 上预订可用的时间

转载 作者:行者123 更新时间:2023-11-29 16:25:56 26 4
gpt4 key购买 nike

我有 2 个表,其中有计时

第一个表

id    time

1. 9:00
2. 10:00
3. 11:00
4. 12:00
5. 01:00
6. 02:00
7. 03:00

第二张 table 是我的预订表,用户在其中进行了预约

id    start_time end_time


1. 9:00 10:00
2. 10:00 12:00
3. 02:00 03:00

我想获取第二个表中留下的可用时间,假设从 12:00 到 01:00 的时间是免费的,所以我希望我的查询将选择可用时间,我需要为此使用 MySQL 查询,请告诉我有一个查询来执行此操作,因为我不知道可以使用什么查询来获取可用的计时。我们将非常感谢您的帮助。谢谢

最佳答案

DROP TABLE IF EXISTS `appointment`;
CREATE TABLE `appointment` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`Start` datetime NOT NULL,
`End` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into appointment (`Start`,`End`) values ('2019-01-18 09:00:00','2019-01-18 10:00:00'),('2019-01-18 10:00:00','2019-01-18 12:00:00'),('2019-01-18 14:00:00','2019-01-18 15:00:00');

DROP TABLE IF EXISTS `mhc_common`.`schedule`;
CREATE TABLE `mhc_common`.`schedule` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`Time` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into schedule (`Time`) values ('2019-01-18 09:00:00'),('2019-01-18 10:00:00'),('2019-01-18 11:00:00'),('2019-01-18 12:00:00'),('2019-01-18 13:00:00'),('2019-01-18 14:00:00'),('2019-01-18 15:00:00'),('2019-01-18 16:00:00');

尝试此方法返回可用时间

Select ID
, s.Time
From Schedule s
Left
Join
( SELECT Time
, if((`Time` >= `Start` and `Time` < `End`),'N','Y') NA
FROM appointment a
, schedule b
Having NA = 'N'
) a
On a.Time = s.Time
Where `NA` is Null;

关于mysql - 想要从餐 table 上预订可用的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54250719/

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