我有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
我如何可以添加條件呢?
謝謝