そのため、少し問題があります。ASP.NetWebサイトで、現在使用可能で使用されていないすべての部屋を表示したいと思います。私が使用していないと言うとき、私は現在その部屋に予約されている人がいないことを意味します、それでシステム日付はチェックインとチェックアウト日付のどの値の間でもありません。
私のスキーマの一部:
CREATE TABLE "Rooms"(
RoomNo int NOT NULL,
RoomType nvarchar(20) NULL,
PricePerNight money NULL,
MaximumOccupancy int NULL,
NoOfBeds int NULL,
NoOfBathrooms int NULL,
Entertainment bit NULL,
RoomService bit NULL,
Gym bit NULL,
CONSTRAINT PK_Rooms PRIMARY KEY(RoomNo)
)
CREATE TABLE "Reservation"(
ReservationID int IDENTITY (1,1) NOT NULL,
CustomerID int NOT NULL,
RoomNo int NOT NULL,
CheckInDate date NOT NULL,
CheckOutDate date NOT NULL,
NoOfDays int NOT NULL,
CONSTRAINT PK_Reservation PRIMARY KEY(ReservationID),
CONSTRAINT FK_Reservation_Customers_CustID FOREIGN KEY(CustomerID)
REFERENCES dbo.Customers(CustomerID),
CONSTRAINT FK_Reservation_Rooms_RoomNo FOREIGN KEY(RoomNo)
REFERENCES dbo.Rooms(RoomNo)
)
だからここに私の考えがあります、私は次のようなSQLクエリが必要になると仮定しています:
&CheckInDate!= "予約からCheckIndateを選択"AND&CheckOutDate!="予約からCheckOutDateを選択"のすべてのFROMルームを選択します。
しかし、これにはいくつかの欠陥があります。
誰かがこれを行う方法、Sue-do-code(それを呼び出すことができます)をより実行可能にする方法を教えてもらえますか?そのようなものが機能するかどうかはわかりませんが、必然的に改善を提案できる場合は私のスキーマに。
TLDR; 誰かがチェックイン日とチェックアウト日を入力すると、利用可能なすべての部屋が返されるというクエリが必要です。