SET TERMOUT ON
DROP VIEW BP_VIEW;
CREATE VIEW BP_VIEW AS
SELECT b.BOOKINGID,
g.GUESTID,
g.FORENAME, g.SURNAME,
br.FLOORNO, br.ROOMNO,
r.TYPE,
b.TOTALPRICE + (rt.RATE*(b.DEPARTDATE - b.ARRIVEDATE)) AS TOTAL_AMOUNT_DUE
FROM GUEST g, ROOM r
INNER JOIN BOOKING b ON b.BOOKINGID = GUESTID
INNER JOIN BOOKINGROOM br ON b.BOOKINGID = br.BOOKINGID AND r.FLOORNO = br.FLOORNO AND r.ROOMNO = br.ROOMNO
INNER JOIN ROOMTYPE rt ON rt.TYPE = r.TYPE
WHERE (CURRENT_DATE BETWEEN b.ARRIVEDATE AND b.DEPARTDATE);
SELECT * FROM BP_VIEW;
COMMIT;
SET TERMOUT ON
こんにちは。
上記のコードを実行しようとしていますが、正常に実行されますが、CURRENT_DATE BETWEEN b.ARRIVEDATE AND b.DEPARTDATE のカテゴリに該当しない特定の予約が更新されます。
このステートメントを使用して、過去の予約ではなく現在の予約情報を見つけようとしています。
コードの実行中、結果は期待したものではありません。AND SECTION を正しく実行しましたか?