자라는 개발자/시행착오들

mysql update 할 때 값 여러개 동시에 하기 & join 조건 걸기 & concat & not like

자란다 2021. 8. 3. 14:21
728x90
반응형

테이블 2개를 join 한다음에 조건걸고 각 테이블의 컬럼값을 동시에 update 하게 되었다.

 

원하던 결과

1. 테이블조인을해서 조건을 건다.   (join)

2. 1의 결과에 각 테이블의 컬럼 값을 기존문자열 + 새로운 문자열로 바꿔준다. (concat)

3. empseq는 0으로 시작하지 않아야 한다. (not like)

 

조건 update는 처음이라 이리저리 찾아보고 시행해본결과 다음과 같이 실행했을때 원하는 결과를 얻게되었다.

UPDATE  A_table a
        JOIN
	B_table b ON a.empname = b.empname    #테이블 join
SET 
    a.empseq = CONCAT('00000', a.empseq),     #테이블 alias.바꿀컬럼명
    b.empseq = CONCAT('00000', b.empseq)
WHERE
	a.empseq NOT LIKE '0%';		      #테이블 alias.컬럼명 검색조건

 

728x90
반응형