Ta aki em baixo copia cola e testa ai: select * from reservas r group by r.dtini, r.dtfinal having min(r.dtini) between 'data inicial' and 'data final' or max(r.dtfinal) between 'data inicial' and 'data final'