Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET @inputStartDate = "2021-01-02 13:00:00";
- SET @inputEndDate = "2020-03-01 17:00:00";
- SET @inputRoomId = 11;
- SELECT NOT EXISTS ( SELECT r.name FROM room r
- LEFT JOIN calendarEvent c ON r.id = c.roomId
- LEFT JOIN calendarEventPeriod p ON c.id = p.calendarEventId
- WHERE ((@inputStartDate BETWEEN c.startDate AND c.endDate) AND (@inputEndDate BETWEEN c.startDate AND c.endDate)
- AND(
- ((r.id = @inputRoomId) AND (c.period = 5) AND (p.day = (DAY(@inputStartDate))) AND (p.month = (MONTH(@inputStartDate))))
- OR((r.id = @inputRoomId) AND (c.period = 4) AND (p.day = (DAY(@inputStartDate))))
- OR ((r.id = @inputRoomId) AND (c.period = 3) AND (p.dayOfWeek = (DAYOFWEEK(@inputStartDate))))
- OR ((r.id = @inputRoomId) AND (c.period = 2))
- OR ((r.id = @inputRoomId) AND (c.period = 1))
- ))) AS isRoomAvailable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement