gpt4 book ai didi

MySQL 选择与查询不一样的所有行

转载 作者:行者123 更新时间:2023-11-29 12:39:47 25 4
gpt4 key购买 nike

我尝试在 Stackoverflow 和 Google 上搜索此问题,但没有找到任何内容,如果这是重复的,我表示歉意,如果有人指出原始问题(如果存在),我将不胜感激。

目前我有一个包含 3 列的表:id、开始时间和结束时间。然后,我使用从 2014 年 10 月 10 日 10:30 开始到 2014 年 10 月 13:45 结束的预订查询,如下所示:

SELECT * 
FROM reservations
WHERE ('2014-10-10 10:30:00' BETWEEN starttime AND endtime)
OR
('2014-10-10 13:45:00' BETWEEN starttime AND endtime)
OR
('2014-10-10 10:30:00' >= starttime AND '2014-10-10 13:45:00' <= endtime)
OR
('2014-10-10 10:30:00' <= starttime AND '2014-10-10 13:45:00' >= endtime);

因此,查询会检查该预留是否与任何现有预留冲突,然后返回冲突的预留。但我希望它做相反的事情并返回与查询不冲突的所有行。

我已经尝试解决这个问题好几个小时了,并且非常感谢任何能将我推向正确方向的提示。

最佳答案

我简化了您的查询(显示冲突):

SELECT *
FROM reservations
WHERE '2014-10-10 10:30:00' <= endtime
AND starttime <= '2014-10-10 13:45:00'

要获取与查询日期不冲突的所有行:

SELECT *
FROM reservations
WHERE NOT ('2014-10-10 10:30:00' <= endtime
AND starttime <= '2014-10-10 13:45:00')

关于MySQL 选择与查询不一样的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279517/

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