select disponibilidad.*, if(servicios_brindados.estado_servicio is null, 1, servicios_brindados.estado_servicio) as  estado_servicio

from disponibilidad 

left join servicios_brindados on servicios_brindados.id_disponibilidad=disponibilidad.id 

where disponibilidad.estado=1 and disponibilidad.estado_global=1 and disponibilidad.id_usuarios={id_usuarios} and disponibilidad.tipo={tipo} 
and (
    (disponibilidad.fecha_desde>='{fecha}' and disponibilidad.fecha_desde<'{fecha_desde}' and disponibilidad.tipo_reserva<4) or 
    ('{fecha_desde}'>=disponibilidad.fecha_desde and disponibilidad.fecha_hasta>'{fecha}' and disponibilidad.tipo_reserva=4)
) 

order by disponibilidad.fecha_desde asc; 
