MySQL返回带有连接表的项目

时间:2016-02-02 13:30:12

标签: mysql date join

我正在开展一个项目,在那个项目中我必须寻找在特定时刻自由的所有区域,但我对如何做到这一点感到困惑。

我有2张桌子。 区域预订

区域有: ID, 名称

预订有: ID, AREA_ID, 开始日期, END_DATE

我想要返回的是所有未在特定日期进行预订的区域。知道怎么做吗?

2 个答案:

答案 0 :(得分:0)

查询:

$date = '2016-2-2';
SELECT a.name
FROM area AS a,
     reservation AS r
WHERE (r.start_date <> '$date' OR r.end_date <> '$date')

假设您的数据库中的日期格式为Y-m-d

答案 1 :(得分:0)

尝试使用此查询:

SELECT a.name
FROM area AS a
LEFT JOIN reservation AS r ON r.area_id = a.id 
AND :myDate between r.start_date AND r.end_date 
WHERE r.id IS NULL