【发布时间】:2017-05-26 04:26:31
【问题描述】:
每个用户在一个表中有多个针对他们的预订,我需要获取用户详细信息和预订详细信息,其中预订开始和结束日期与用户通过的日期不重叠。
用户
id | name
---------
1 | Ryan
2 | Dave
user_bookings
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/2017 到 05/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;
【问题讨论】:
标签: mysql