私はこれに少し精神的なブロックを持っています。
ホテルの部屋の予約システムを取得しましたが、テーブルが含まれています。
BookingRoomLink BookingId
(FK)
RoomId(FK)
Start_Date
End_Date
データをクエリして、各月の占有レベルを抽出したいと思います。私はこれを手動で行うことができます(つまり、過去1か月間はこのようなことを行います)。
SELECT BookingRoomLink.Start_Date,
BookingRoomLink.End_Date,
DATEDIFF("d", BookingRoomLink.Start_Date, BookingRoomLink.End_Date) as RoomNights
FROM BookingRoomLink
WHERE BookingRoomLink.Start_Date >= dateadd(m, -1, getdate())
AND BookingRoomLink.End_Date <= GETDATE()
次に、結果などをカウントして、「使用済み」の部屋の夜を計算し、これを1か月に利用可能な部屋の夜から差し引くことができます。
例えば。10部屋x月の30日=利用可能な300の可能な部屋の夜。150使用(クエリの結果)= 50%の占有率。
問題
これをストアドプロシージャに自動化したいと思います。
これを特定の年の月にグループ化することは可能ですか?
月の境界と重なる予約が適切に処理されるようにするにはどうすればよいですか?