estoy bloqueado con una consulta que no consigo hacer.
Tengo una tabla similar a esta:
Cita:
Pues lo quiero es que dadas dos fechas (una de inicio y otra de fin) las cuales comprenden un intervalo de tiempo, me muestre las tareas que se encuentran en ese intervalo de tiempo, quepan o no quepan en el intervalo, de un determinado usuario.Tasks
|------
|Columna|Tipo|Nulo|Predeterminado
|------
|//**id**//|int(11)|No|
|day_start|datetime|No|
|day_end|datetime|No|
|user_id|int(11)|No|
|-id|-day_start---------|-day_end-----------|-user_id|
|111|2014-04-03 09:00:00|2014-05-13 19:30:00|39
|112|2014-03-04 16:16:00|2014-03-12 19:00:00|39
|------
|Columna|Tipo|Nulo|Predeterminado
|------
|//**id**//|int(11)|No|
|day_start|datetime|No|
|day_end|datetime|No|
|user_id|int(11)|No|
|-id|-day_start---------|-day_end-----------|-user_id|
|111|2014-04-03 09:00:00|2014-05-13 19:30:00|39
|112|2014-03-04 16:16:00|2014-03-12 19:00:00|39
Por ejemplo:
Fecha de inicio: 2014-02-24 00:00:00
Fecha final: 2014-04-05 00:00:00
id de usuario: 39
Me debe retornar la 111 y la 112 (la 111 no cabe en el intervalo pero empieza en este, 112 si cabe).
otro ejemplo:
Fecha de inicio: 2014-03-31 00:00:00
Fecha final: 2014-05-11 00:00:00
id de usuario: 39
Me debe retornar la 111 la cual empieza antes y acaba después del intervalo.
De momento tengo esta chapuza de consulta que no funciona correctamente:
Código MySQL:
Ver original
No funciona correctamente porque si la fecha final es menor que day_start la retorna, y lo mismo pasa al revés, es decir, que la fecha de inicio sea mayor que el day_end.
¿Alguna sugerencia?