반응형
--1. 일반적인 방법
UPDATE [TABLE_1]
SET COL1 = SUB_COL1
, COL2 = SUB_COL2
, COL3 = SUB_COL3
FROM
(
SELECT SUB_COL1
, SUB_COL2
, SUB_COL3
, USER_NUM
FROM [TABLE_2]
WHERE [조건...]
) SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
--2. CTE 를 사용한 방법
WITH CTE_TABLE AS
(
SELECT SUB_COL1, SUB_COL2, SUB_COL3, USER_NUM
FROM [TABLE_2]
WHERE [조건...]
)
UPDATE [TABLE_1]
SET COL1 = SUB_COL1
, COL2 = SUB_COL2
, COL3 = SUB_COL3
FROM CTE_TABLE SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
-- 1. 먼저 현재값과 update해야할 값을 조회해본다.
select a.컬럼1, b.컬럼1
,a.컬럼2, b.컬럼2
,a.컬럼3, b.컬럼3
,a.컬럼4, b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건
-- 2. ,을 =로 바꾸주고 바로 update 해준다.
update a set a.컬럼1 = b.컬럼1
,a.컬럼2 = b.컬럼2
,a.컬럼3 = b.컬럼3
,a.컬럼4 = b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건
반응형
'프로그래밍 > DataBase' 카테고리의 다른 글
[MSSQL] 초를 시분초로 변환 (0) | 2023.08.08 |
---|---|
[MSSQL] PIVOT, UNPIVOT , 행과 열 변환 (0) | 2023.08.04 |
[MS-SQL] Begin Tran (0) | 2023.07.19 |
[MSSQL] 랜덤 (무작위) Select (0) | 2023.07.18 |
[MSSQL] IF…ELSE IF…ELSE (0) | 2023.07.14 |