gpt4 book ai didi

MySQL选择时间戳不重叠的地方

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

每个用户在表中都有多个预订,我需要获取用户详细信息和预订详细信息,其中预订开始和结束日期与用户通过的日期不重叠。

用户

id | name
---------
1 | Ryan
2 | Dave

用户预订

id | user_id | title         | start_date | end_date
------------------------------------------------------
1 | 1 | Booking One | 1484133562 | 1484133562
2 | 1 | Booking Two | 1484133562 | 1484133562
3 | 2 | Booking Three | 1484133562 | 1484133562

网站用户可以搜索在指定时间内进行预订的用户。因此,他们可以搜索如下日期:01/01/201705/01/2017,如果 user_id 1 在此期间进行了预订,则他们不会出现在结果。

我目前有一个查询,例如:

SELECT 
users.name,
user_bookings.name
FROM users
JOIN user_bookings ON users.id = user_bookings.user_id
WHERE NOT(('$start_date' <= user_bookings.start_date) AND (user_bookings.end_date <= '$end_date')) GROUP BY users.id;

最佳答案

SELECT users.name, user_bookings.name 
FROM users
JOIN user_bookings ON users.id = user_bookings.user_id
WHERE NOT ((DATE_FORMAT(user_bookings.start_date,'%m/%d/%Y') >= '$start_date' AND DATE_FORMAT(user_bookings.end_date,'%m/%d/%Y') <= '$end_date')) AND users.id = 1
GROUP BY users.id;

关于MySQL选择时间戳不重叠的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41589879/

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