조인 SQL에 대해.. 0 1 1,008

by 김선우 [2019.02.04 11:35:36]


안녕하세요

백업 테이블을 가지고 테이블의 특정 칼럼을 갱신하려고 다음 과 같은 SQL을 작성하였습니다.

 

그런데 갱신하려고 하는 칼럼이 not null column이라서 매칭되지 않는 레코드의 경우에는 에러를 발생시킵니다.

매칭되지 않는 레코드는 그냥 그대로 원래 레코드를 insert하고자 하는 경우에는 어떻게 해야 하나요?

 

INSERT INTO
    tbl_abc
SELECT
     a.item01
    ,b.true_item02      --not null column
    ,c.true_item03
    ,a.item04
    ,a.item05
FROM
  tbl_abc_bk a         -- tbl_abc backup table
LEFT JOIN 
  (
      SELECT
          distinct
          false_item02
         ,true_item02
      FROM
          recovery_tbl_abc    
  ) b
ON
  a.item02 = b.false_item02
LEFT JOIN
  (
      SELECT
          distinct
          false_item03
         ,true_item03
      FROM
          recovery_tbl_abc
  ) c
ON
  a.item03 = c.false_item03
;

 

by 마농 [2019.02.07 08:25:52]

- 변경전 : , b.true_item02
- 변경후 : , NVL(b.true_item02, a.item02)

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