0
예약 시스템을 조회하고 있으며 모든 예약 일정 (반복 예약을 나타냄)을 지정해야합니다. 여기서 지정된 날짜의 모든 예약 범위가 취소되었습니다. 다음 질문이 에이 취소 된 특정 날짜 범위 동안 예약이 포함 된 예약 예약을 내게주는 이유는 무엇입니까?SQL - 날짜 범위의 모든 예약이 취소 된 예약 일정 검색
SELECT DISTINCT b.BookingScheduleId FROM Booking b
WHERE b.CancellationStatus = 1
AND b.[Date] BETWEEN '01-Nov-14' AND '31-Dec-14'
AND NOT EXISTS (
SELECT * FROM Booking ref
WHERE ref.BookingScheduleId = b.BookingScheduleId
AND ref.[Date] BETWEEN '01-Nov-14' AND '31-Dec-14'
AND b.CancellationStatus = 0
)
AND b.BookingScheduleId IS NOT NULL
감사합니다. 이런 식으로 분할하는 것이 훨씬 명확합니다. 문제는 내 마지막 'AND'가 'NOT EXISTS'상태의 일부로 작동한다는 것입니다. – Izzy
@ azzy. . . 나는 이러한 유형의 문제를 피하기 위해 쿼리 형식을 지정하는 방법에 대해 매우 세심한주의를 기울이고 있습니다.하지만 모든 사람들이 내 미학과 동의하지는 않습니다. –