Мне нужно исключить определенную строку из COUNT
на SQL сервере. Вот что у меня есть:
SELECT COUNT(GuestId)TotalBooked
FROM GuestStayDetails
WHERE (@ArrivalDate = ArrivalDate)
OR (@DepartureDate = DepartureDate)
OR (@ArrivalDate < ArrivalDate AND @DepartureDate = DepartureDate)
OR (@ArrivalDate = ArrivalDate AND @DepartureDate < DepartureDate)
OR (@ArrivalDate < ArrivalDate AND @DepartureDate > DepartureDate)
OR (@ArrivalDate < DepartureDate AND @DepartureDate > DepartureDate)
OR (@ArrivalDate BETWEEN ArrivalDate AND DATEADD(Day, -1, DepartureDate))
OR (@DepartureDate BETWEEN DATEADD(Day, -1, ArrivalDate) AND DepartureDate)
AND Student = 1
AND Cancelled = 0
AND GuestStayDetails.GuestId != @GuestId;
Если я удалю последний AND GuestStayDetails.GuestId != @GuestId;
, он даст мне ожидаемый COUNT
, однако я должен исключить один из GuestID
s. Есть предложения?