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

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


안녕하세요

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

 

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

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입