Listar os apartamentos disponíveis no período(data)

Tenho uma relação entre: Reserva ? AptReservado ? Apartamento
Tenho os seguintes apartamentos cadastrados = 1,2,3
Ao efetuar uma reserva, escolho: data de entrada = 24/05/2013 - saída 30/05/2013 = Apartamentos disponíveis = {1,2,3} Suponhamos que eu escolha o apt 1
Ao efetuar outra reserva, escolho: data de entrada = 25/05/2013 - saída 28/05/2013 = Apartamentos disponíveis = {2,3} [O apartamento 1 não está disponível de acordo com o período escolhido]
Em outra, escolho: data de entrada = 23/05/2013 - saída 01/06/2013 = Apartamentos disponíveis = {2,3} [O apartamento 1 não está disponível de acordo com o período escolhido]

Minha dúvida é de como listar os apartamentos disponíveis no período.

Obs.: Criei o AptReservado porque a relação de Reserva para apartamento é de N:N

Grata!!

Sua dúvida seria de como montar o select no banco?

A minha idéia seria trazer os apartamentos cuja data inicial e final informadas no filtro não estejam entre as datas inicial e final das reservas.

Se não for isso, esclarece melhor a dúvida?