Я надеюсь, что кто-то может помочь мне немного здесь ...
Я программирую небольшую программу бронирования для отеля, где я должен увидеть список доступных номеров между двумя заданными датами. У меня возникла проблема, заключающаяся в том, что если я выполню поиск с датой прибытия, которая позже даты прибытия в бронировании, номер все равно будет отображаться как доступный...
Мой вызов базы данных выглядит так:
String SQLString = "select roomnumber, roomtypeid from rooms "
+ "where roomnumber not in "
+ "(select roomnumber from booking "
+ "where arrival between to_date(?, 'yyyy-mm-dd') "
+ "and to_date(?, 'yyyy-mm-dd')) and roomtypeid = ? order by roomnumber";
Я пробовал разные комбинации строк sql, но ничего не помогает. Может ли кто-нибудь дать мне хороший намек?
CREATE TABLE BOOKING(
ARRIVAL DATE ,
DEPARTURE DATE,
RESERVATIONSNUMBER INTEGER NOT NULL PRIMARY KEY,
ROOMNUMBER INTEGER,
PAID INTEGER,
CUSTOMERID INTEGER,
NUMBEROFGUESTS INTEGER,
CONSTRAINT BOFK FOREIGN KEY(ROOMNUMBER) REFERENCES ROOMS(ROOMNUMBER),
CONSTRAINT CUIDFK FOREIGN KEY(CUSTOMERID) REFERENCES CUSTOMER(CUSTOMERID));