我正在开展一个项目,在那个项目中我必须寻找在特定时刻自由的所有区域,但我对如何做到这一点感到困惑。
我有2张桌子。 区域和预订。
区域有: ID, 名称
预订有: ID, AREA_ID, 开始日期, END_DATE
我想要返回的是所有未在特定日期进行预订的区域。知道怎么做吗?
答案 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