Im이 항목에 정신 블록이 약간 있습니다.SQL 서버 쿼리 (저장 프로 시저)에서 월 단위로 그룹화
나는 호텔 객실에 대한 시스템을 예약있어 그것은 테이블을 포함 그래서 BookingRoomLink가
BookingId (FK)가
RoomId (FK)
START_DATE
END_DATE
나 '
매월 점유 수준을 추출하기 위해 데이터를 쿼리하고 싶습니다. 나는 이것을 수동으로 할 수있다 (예를 들면, 지난 달 동안 이런 일을한다).
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 실 x 30 일 = 300 가능한 객실 숙박이 가능합니다. 150 사용 (쿼리 결과) = 50 % 점유.
문제
ID는 저장 프로 시저에이를 자동화하고 싶다.
특정 연도에 이것을 개월 단위로 그룹화 할 수 있습니까?
월 경계선과 겹치는 예약이 적절하게 처리되도록하려면 어떻게해야합니까?
샘플 데이터 및 예상 결과는 항상 도움이됩니다. – JonH