我的 sql 数据库中有 3 个表:
Table Room
roomnumber roomtype
1 DeluxeRoom
2 DeluxeRoom
3 DeluxeRoom
100 StandardRoom
101 StandardRoom
102 StandardRoom
Run Code Online (Sandbox Code Playgroud)
Room 是一张存储房间及其类型的表。
Table Reservation
reservationid checkin checkout
1 2017-01-01 2017-01-03
2 2017-01-10 2017-01-20
3 2017-02-05 2017-02-08
Run Code Online (Sandbox Code Playgroud)
预订是用户进行预订的表。
Table RoomReserve
reservationid roomnumber
1 1
2 100
2 101
3 1
3 2
3 3
Run Code Online (Sandbox Code Playgroud)
在 RoomReserve 中,对于每个 bookingid,我可以输入多个 roomnumber 值。如果入住和退房日期不同,我还可以为不同的预订 ID 输入相同的房间号。
当用户想要预订房间时,我试图进行查询来计算可用房间,但我得到的结果是错误的。
这是我正在尝试的代码:
SELECT COUNT(roomnumber)
FROM room
WHERE roomtype='DeluxeRoom'
AND roomnumber NOT IN (
SELECT *
FROM roomreserve r,reservation …Run Code Online (Sandbox Code Playgroud)