我在這一點上有一點心理障礙。在sql服務器查詢(存儲過程)中按月分組的日期
我得到了預訂的酒店客房系統,它包含一個表作爲這樣
BookingRoomLink
BookingId(FK)
RoomId(FK)
START_DATE
END_DATE
我d喜歡查詢數據以提取每月的入住率。 我可以手動做到這一點(即過去一個月做這樣的事情)。
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()
然後,我可以做這將使我「所用的」間夜,並減去這對在一個月內提供的住宿房間的結果或類似的計數。
例如, 10間客房 本月30天=可能有300晚的房間。 150使用(查詢結果)= 50%佔用率。
問題
Id喜歡這個自動化成存儲過程。
是否有可能在給定年份將其分組爲幾個月?
我該如何確保與一個月邊界重疊的預訂適合處理?
樣本數據和預期結果總是有幫助! – JonH 2009-11-16 18:13:52