Hola, nunca use paradox, la escribo como yo lo haria en firebird
Código SQL
[-]
SELECT DISTINCT N_HAB FROM HABITACIONES
WHERE not exists (SELECT NHABITACION FROM RESERVAS
WHERE NHABITACION = HABITACIONES.N_HAB
AND FECHA BETWEEN :FI AND :FF
UNION
SELECT NHABITACION FROM ESTADIAS
WHERE NHABITACION = HABITACIONES.N_HAB
AND FECHA BETWEEN :FI AND :FF)
Nunca use union dentro del select, no se si funcione (debería)si no intenta con este
Código SQL
[-]
SELECT DISTINCT N_HAB FROM HABITACIONES
WHERE not exists (SELECT NHABITACION FROM RESERVAS
WHERE NHABITACION = HABITACIONES.N_HAB
AND FECHA BETWEEN :FI AND :FF)
AND not exists (SELECT NHABITACION FROM ESTADIAS
WHERE NHABITACION = HABITACIONES.N_HAB
AND FECHA BETWEEN :FI AND :FF)
Espero te sirva
Saludos
Pablo