a 테이블의 날짜가 날짜제한테이블 row에 해당되지 않는 것만 구하고 싶습니다.
어떻게 하면 될까요?
select *
from a
where 날짜 between (??)
-- 날짜제한 테이블.a의 키의 여러 row 데이터가 있다
select b.시작날짜, b.종료날짜
from 날짜제한_tb b
union all
select c.시작날짜, c.종료날짜
from 날짜제한_tb c
by 마농
[2019.04.04 08:48:23]
-- Not Exists
SELECT *
FROM a
WHERE NOT EXISTS (SELECT 1
FROM 날짜제한_tb b
WHERE a.날짜 BETWEEN b.시작날짜 AND b.종료날짜
)
;
-- Outer Join & Is Null
SELECT a.*
FROM a
LEFT OUTER JOIN 날짜제한_tb b
ON a.날짜 BETWEEN b.시작날짜 AND b.종료날짜
WHERE b.시작날짜 IS NULL
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.