Здравствуйте. Есть таблица с записями, у которых есть date_start и date_end (дата начала мероприятия и дата конца мероприятия) тип полей datetime
К примеру есть две записи
1. post_1 
date_start =  2017-11-07 14:00:00
date end = 2017-11-12 17:00:00
2. post_2
date_start =   2017-11-05 12:00:00
date end = 2017-11-10 15:00:00
На странице с мероприятиями я хочу отфильтровать их по таким датам
с 
2017-11-07 по 
2017-11-09
Делаю такой запрос 
SELECT * FROM `posts` WHERE 
`date_end` >= '2017-11-07' AND `date_end` <= '2017-11-09' 
OR
`date_start` >= '2017-11-07'  AND `date_start` <= '2017-11-09'
Выдает post_2
Почему сюда не попадает так же post_1?
Делаю потом такой запрос
SELECT * FROM `posts` WHERE 
`date_end` >= '2017-11-08' AND `date_end` <= '2017-11-09' 
OR
`date_start` >= '2017-11-08'  AND `date_start` <= '2017-11-09'
Ничего не выдает:)
Как отфильтровать мероприятия что бы они попали в промежуток, который я задаю.
Что бы при втором запросе, выдавало 
2 записи т.к. эти мероприятия попадают сюда, т.к. они проходят в это время. Уже побывал сюда добавлять еще 
BETWEEN но чет все так же