source

여기서 구는 조건을 건너뜁니다.

manycodes 2023. 1. 9. 21:15
반응형

여기서 구는 조건을 건너뜁니다.

저는 현재 호텔 홈페이지를 만드는 프로젝트를 진행하고 있으며, 예약에 대한 개요 작업을 하고 있습니다.

현재 중요한 단계를 건너뛰고 작동하지 않는 쿼리에 대해 해결책을 가진 사람이 있습니까?

괄호를 바꾸고 구글에서 검색해 봤지만 아무것도 찾지 못했다.

SQL

select * 
  from reservations 
 where room_id = 1 
   and (CURRENT_DATE > reservation_start AND CURRENT_DATE < reservation_end) 
    or (CURRENT_DATE > reservation_start - 7);

현재 그것은 주어진 방이 아니라 모든 방을 차지하고 있다.

CURRENT_DATE 조건 주위에 괄호를 둘 필요가 있습니다.and보다 강하게 결합하다or:

select * from reservations 
where room_id = 1 
and ((CURRENT_DATE > reservations.reservation_start AND CURRENT_DATE < reservations.reservation_end) 
  or (CURRENT_DATE > reservations.reservation_start - 7)
);

여기서 괄호를 놓쳤습니다.그리고 질의의 목적이 변경되었습니다.

select * from reservations 
  where room_id = 1 
    and ((CURRENT_DATE > reservations.reservation_start AND
          CURRENT_DATE < reservations.reservation_end) or 
          (CURRENT_DATE > reservations.reservation_start - 7));

언급URL : https://stackoverflow.com/questions/58485742/where-clause-skips-condition

반응형