You can achieve your result using above 3 tables you specified. but only thing you have to change is that you have to use RoomID
filed in tbReservation
table also.
rbRoom
-> store the distinct rooms
tbReservation
-> when a room is reserved this table will hold the RoomID and Reservation ID
tbReservationDetail
->stores the other details regarding arrivalDate,DepartureDate etc.
then follow the below query
SELECT * FROM tbRoom WHERE RoomID NOT IN (SELECT RoomID FROM tbReservation
tr,tbReservationDetail td WHERE td.ArrvialDate < yourDate AND
td.DepartureDate > yourDate and tr.RoomID=td.RoomID)