03.업/05.오라클2021. 12. 6. 16:46

코드값 목록 만큼 데이터목록 조회하고자 할때 WHERE 절에 조건을 넣는 게 아니라 조인절에 AND로 추가해서 조회한다.

 

SELECT 
           B.CHCK_DATE 
         , TO_CHAR(TO_DATE(B.CHCK_DATE), 'YYYY-MM-DD') AS 점검일자
         , B.BULD_CODE 
         , F_EF1000_S(B.BULD_CODE , '1') AS BULD_NM 
         , A.DETAIL_CODE AS CHCK_REALM_CODE 
         , F_CB1100_S(A.DETAIL_CODE, 'EF013') AS 점검분야
         , B.INSCTR_PSITN_CODE 
         , F_CB2000_S(B.INSCTR_PSITN_CODE, '1') AS 점검자소속
         , F_CB2000_S(B.INSCTR_PSITN_CODE, '2') AS 점검자소속그룹코드
         , F_CB2000_S(B.INSCTR_PSITN_CODE, '3') AS 점검자소속그룹
         , B.INSCTR_NO AS 점검자번호
         , F_EH3000_S(B.INSCTR_NO) AS 점검자
         , B.INSCTR_OFCPS_CODE 
         , F_CB1100_S(B.INSCTR_OFCPS_CODE, 'EH004') AS 점검자직위
         , NVL(B.PRESENTN_AT, 'N') AS 제출여부
         , B.PRESENTN_DATE AS 제출일자
         , '점검자' AS SUB_TITLE
      FROM (
          SELECT C.MAIN_CODE, C.DETAIL_CODE, C.KOR_FMY_NM, C.USE_AT
          FROM 코드테이블 C
         WHERE NVL(C.USE_AT, 'N') = 'Y'
           AND C.MAIN_CODE = 'EF013'
      ) A LEFT OUTER JOIN 테이블 B 
        ON A.DETAIL_CODE = B.CHCK_REALM_CODE
       AND B.CHCK_DATE = '20210611'
       AND B.BULD_CODE = '02'
  ORDER BY A.DETAIL_CODE

 

Posted by 봄날의차