WITH TEMP1 -- 공개일정 테이블
AS (
SELECT '201512010800' AS STARTDAY, '201512081100' AS ENDDAY FROM DUAL -- 12월01일 8시부터 ~ 12월08일 11시까지
UNION
SELECT '201512150800' AS STARTDAY, '201512171100' AS ENDDAY FROM DUAL -- 12월15일 8시 부터 ~ 12월17일 11시까지
)
SELECT STARTDAY, ENDDAY FROM TEMP1
-- 제일 처음 달력 쿼리
달력에 12월01일 8시부터 ~ 12월08일 11시까지 달력에 표시되어 있고 또 12월15일 8시 부터 ~ 12월17일 11시까지 기간이 표시 되어있습니다.
그러면 신청자가
달겨에 표시된 기간안에서, 예를 들어 12월02일 8시부터 ~ 12월03일 11시까지 신청을 해서 신청 테이블에 저장이 되어있다는 가정하에,
달력을 재 조회시에는
12월01일 8시부터 ~ 12월02일 8시까지 표시가 되어야 하고,
12월03일 11시부터 ~ 12월08일 11시까지 표시,
12월15일 8시 부터 ~ 12월17일 11시까지 기간에는 신청을 안해서 그대로 표시가 되어 져야 합니다.
공개테이블에는 시작일자, 종료일자
신청테이블에도 시작일자, 종료일자
이렇게 구성되어있는데 쿼리를 어떻게 조작해야 할까요...
|