I have 2 tables, restaurants and orders, each restaurant can have many orders
restaurants table
id
name
orders table
id
restaurant_id
date
I need to find the restaurants that have no orders on some date range. In orders table I save the order dates like - each row represents one day. So, I need to make inner join, but with no results from the orders table. Say, I need to find restaurants that are free from 2013-08-09 to 2013-08-11
date range. How can I achieve this ? How to make a query, that will give the restaurants with no matching in the orders table - according to the date range ?
Actually I can do it saving all the dates in the orders table with status not_ordered, and make inner join with not_ordered = true
condition, but in that case I will have to populate all the table with the dates, which is not a good thing in my case.
Thanks