У меня есть 3 таблицы (обратите внимание, что это может быть не лучший дизайн sql db)
Room: TypeName, RoomNumber
RoomType: TypeName, ...
Reservation: StartDate, EndDate, TypeName, RoomNumber
Мои входные параметры startdate
и enddate
. Я хотел бы знать отчетливый roomtypes
доступный. Насколько я понимаю, решение выглядит так: AvailableRoomTypes = AllRoomTypes - UnavailableRoomTypes
Очевидно, AllRoomTypes
можно найти по: SELECT DISTINCT(TypeName) FROM Room;
и я знаю как получить недоступные комнаты, но не недоступные roomtypes
. Я также не знаю, как вычесть один набор из другого. Я могу получить набор всех rooms+roomtypes
и еще один набор недоступных rooms+roomtypes
, но как мне присоединиться к ним так, чтобы это было A-B
? Может быть, какая-то функция NOT_CONTAINS
?
Я бы хотел, чтобы мои выходные параметры были SELECT * FROM RoomType (for the appropriate roomtypes)
.