OUTER JOIN 이 잘 안되네요. 0 1 994

by 농부지기 [2019.10.11 10:54:29]


갑자기 OUT JOIN이 제 생각대로 안되네요.
뭐가 잘못된걸까요?
전 아래 결과가 ORG=B,C,D 만 나오게 하고 싶은데..안되네요.
즉, V_DATE 에 없는 조직이나, DT >='오늘일자'보다 큰 조직만 나오게 하고 싶습니다.
미리 감사드립니다.


WITH V_CODE AS
( SELECT 'A' ORG FROM DUAL UNION ALL
  SELECT 'B' ORG FROM DUAL UNION ALL
  SELECT 'C' ORG FROM DUAL UNION ALL
  SELECT 'D' ORG FROM DUAL
),V_DATE AS
( SELECT 'A' ORG, '20190901' DT FROM DUAL UNION ALL
  SELECT 'B' ORG, '20191011' DT FROM DUAL UNION ALL
  SELECT 'C' ORG, '20201111' DT FROM DUAL
 )
SELECT C.*, D.DT
  FROM V_CODE C
     , V_DATE D
 WHERE C.ORG = D.ORG (+)
   AND D.DT(+) >= TO_CHAR(SYSDATE, 'YYYYMMDD') ;

 

by 꼬랑지 [2019.10.11 11:05:04]
WITH V_CODE AS
( SELECT 'A' ORG FROM DUAL UNION ALL
  SELECT 'B' ORG FROM DUAL UNION ALL
  SELECT 'C' ORG FROM DUAL UNION ALL
  SELECT 'D' ORG FROM DUAL
),V_DATE AS
( SELECT 'A' ORG, '20190901' DT FROM DUAL UNION ALL
  SELECT 'B' ORG, '20191011' DT FROM DUAL UNION ALL
  SELECT 'C' ORG, '20201111' DT FROM DUAL
 )
SELECT C.*, D.DT
  FROM V_CODE C
     , V_DATE D
 WHERE C.ORG = D.ORG (+)
   AND NVL(D.DT,TO_CHAR(SYSDATE, 'YYYYMMDD')) >= TO_CHAR(SYSDATE, 'YYYYMMDD') ;

 

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