중복 날짜 쿼리 질문 드립니다. 0 2 2,742

by extreme [SQLServer] 중복 [2015.08.20 00:21:48]


초보 sqler입니다. 고수님들 잘부탁드립니다.꾸벅

제가 구현할려는 쿼리는 예약 날짜 (시작일과 종료일) 이 들어있는 테이블에서 해당 사용자가 다시 예약 할때 그 날짜와 기존에 예약된 날짜가 중복이 없는지 확인하는 쿼리입니다.

예를들어 a라는 예약자가

첫 예약 2015-10-01 ~ 2015-10-3 예약한 상태에서

두번째예약  2015-10-03 ~ 2015-10-4 은 가능한데 2015-10-02 ~ 2015-10-03은 불가능합니다.

결국 이예약자가 예약할려는 기간과 기존에 기간이 겹치면 안되는 것이죠

DB는 MSSQL이며 유사한 쿼리가 있으시면 어떻게 찾아내야할지 막막해서 올립니다. 부탁드리겠습니다.

by 마농 [2015.08.20 02:11:45]
-- 시작일과 종료일을 서로 교차비교하시면 됩니다.
SELECT *
  FROM t
 WHERE sdt < :v_edt
   AND edt > :v_sdt
;

 


by extreme [2015.08.21 15:04:15]

너무감사합니다. 이렇게 간단할 줄이야..^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입