Porque você não disse logo....
to brincando amigo ai esta seu sql:
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'