0
任何人都可以帮助我与我的SQL语句如下。我试图做的是从1表中检索行,他们不出现在另一个表的日期范围内。此时下面的查询返回输入日期范围之间的行。我如何修改它,以便表2中的日期范围之间的行不会从表1返回?表1是家庭和表2是预订Oracle SQL从一个表中选择行不在另一个
SELECT homes.home_id, homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft,
listagg(features.feature_name, '\n') WITHIN GROUP(ORDER BY features.feature_name) features, home_type.type_name
FROM homes
INNER JOIN bookings ON bookings.home_id = homes.home_id
INNER JOIN home_feature ON homes.home_id = home_feature.home_id
INNER JOIN home_type ON home_type.type_code = homes.type_code
INNER JOIN features ON home_feature.feature_id = features.feature_id
WHERE bookings.booking_end < to_date('23-Jan-13')
OR bookings.booking_start > to_date('22-Jan-13')
GROUP BY homes.home_id, homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft, home_type.type_name
您好,感谢您的答复。我试过了你的查询,并且当它在日期范围之间应该省略时,它将返回来自家庭表的所有行。 – user1851487
@ user1851487糟糕,错过了你的解释。看我的编辑 – Taryn