3 つのテーブルがあります (これは最適な SQL データベース設計ではないことに注意してください)
Room: TypeName, RoomNumber
RoomType: TypeName, ...
Reservation: StartDate, EndDate, TypeName, RoomNumber
私の入力パラメータはstartdate
とenddate
です。利用可能な個別のものを知りたいroomtypes
です。私の理解から、解決策は次のようになります。AvailableRoomTypes = AllRoomTypes - UnavailableRoomTypes
明らかに、次の方法AllRoomTypes
で見つけることができます: SELECT DISTINCT(TypeName) FROM Room;
and I know how to get available rooms, but not available roomtypes
. また、あるセットから別のセットを差し引く方法も知りません。すべてrooms+roomtypes
のセットと使用不可の別のセットを取得できますrooms+roomtypes
が、どのように結合すればよいのA-B
でしょうか? もしかして何かのNOT_CONTAINS
機能?
出力パラメータを にしたいと思いますSELECT * FROM RoomType (for the appropriate roomtypes)
。