一尘不染

在两个日期之间选择

sql

你好!

我有两个表,“房间”和“忙”。我的繁忙表包含预订记录,其中包含到达日期和离开日期。

我希望选择一个在两个日期都没有预订的房间。

有人给我他想保留他的房间和他打算离开的日期,从那以后我希望能够显示他可以使用的房间。

Busy Table => |IdRoom||ArrivalDate|DepartureDate|

Room Table => |IdRoom|NumRoom|And so on..|

我尝试了不同的查询,但是我什么也没得到。

我测试过的查询:

SELECT Room.*, Busy.* 
FROM Room
INNER JOIN Busy ON Room.RoomdId= Busy.RoomdId
WHERE (@dateArr NOT BETWEEN 'Busy.ArrivalDate' AND 'Busy.DepartureDate') 
AND (@dateDep NOT BETWEEN 'Busy.ArrivalDate' AND 'Busy.DepartureDate')

预先感谢您的帮助!


阅读 261

收藏
2021-05-16

共1个答案

一尘不染

好的,所以我已经更正了我的查询。

那就是我使用的查询:

SELECT * 
FROM Room 
WHERE RoomId in (
             SELECT RoomID FROM Reservation WHERE EndDate <= @startDate OR  
             StartDate >= @endDate
             )

当然,有更好的方法可以做到,但确实可以。谢谢大家对我的帮助;)

2021-05-16