我有2个表,餐馆和订单,每个餐厅有很多订单找到包含日期范围目前MySQL的加入
restaurants table
id
name
orders table
id
restaurant_id
date
status
如果某个日期没有订单 - 这意味着在订单表没有行。如果有订单,其状态可以是0,1或2.订单表中的每一行代表一天。
我需要找到那些餐馆,2013-08-15
和2013-08-25
之间说(包括当前日 - 2013-08-19
)不必在所有的订单(这意味着在订单表中没有相应的行),或有订单状态0或1,但是随着这些条件,今天的订单应该具有状态-2。因此,如果一些餐馆今天没有订单或者它的状态不是2--这个餐馆不应该被列在结果中,但是如果订单今天存在且其状态为2,结果应该包含具有上述日期范围的所有订单列表的餐厅。
通过此查询我得到的结果没有今天的条件的一部分。
SELECT r.`id`, r.`name`
FROM restaurants r
LEFT JOIN orders o ON r.id = o.restaurant_id AND o.date between '2013-08-15' AND '2013-08-25'
where o.id is null OR o.`status` = 0 OR o.status = 1
我如何可以添加条件呢?
谢谢