在以下關係模式中,如何導出未從日期範圍預訂的房間的可用「基本」類型。這是我的鏡頭。我在sqlplusSQL查詢從日期x到日期y查找可用房間y
SELECT *
FROM ROOM r, BOOKING b
WHERE NOT EXISTS
(SELECT * FROM BOOKINGROOM br
WHERE br.ROOMNO = r.ROOMNO
AND br.BOOKINGID = b.BOOKINGID
AND ARRIVEDATE < '01-FEB-2013'
AND DEPARTDATE > '23-FEB-2013');
與甲骨文合作我也想被「罐裝查詢」查詢,所以我手動添加結束範圍,開始日期範圍。子查詢答案將是首選。
INSERT INTO BOOKING VALUES (2314, 1001, TO_DATE('10-MAR-2013', 'DD-MON-YYYY'), TO_DATE('15-MAR-2013', 'DD-MON-YYYY'), 1225.00);
日期比較問題可能在下面的答案。
ISIT可能的子查詢? – MooHa 2013-03-18 20:19:58
當然,但子查詢可能性能較差。任何你喜歡子查詢的理由?您可以將'ArriveDate'和'DepartDate'過濾器添加爲'canned'查詢,而無需使用子查詢。 – PinnyM 2013-03-18 20:20:25
我發現子查詢很難理解,所以真的很想用這個例子來理解。左加入我明白很簡單。 – MooHa 2013-03-18 20:21:18