Terry Very Good

[Mysql] 참조테이블(다른 테이블)에 있는 값을 기반으로 Update/INSERT 실행하기 본문

프로그래밍/(WEB) DB관리

[Mysql] 참조테이블(다른 테이블)에 있는 값을 기반으로 Update/INSERT 실행하기

테리베리 2021. 1. 15. 11:48
728x90
반응형

[UPDATE 상황]

대학교에 학생이 새로 들어왔고, user_info에 추가되었다.
하지만 이들의 학과코드(deptCD)만 입력된 상태이며, 학과명(dept)와 학과풀네임(dept_full)은 입력되지 않은 상태이다.
dept_info에는 학과코드deptCD)가 있고, 그에 해당하는 학과명(dept)과 학과풀네임dept_full)이 있다.
두 테이블의 deptCD가 같으면, user_info의 dept와 dept_full을 자동으로 업데이트 해주는 구문을 짜고싶다.

[UPDATE 구문]

UPDATE user_info a, dept_info b 
SET a.dept=b.dept, a.dept_full=b.dept_full 
WHERE a.deptCD = b.deptCD;

 

그러면 간단하게 완성.

[UPDATE 구문2]

Update tableA Set PC_URL=(Select b.pc_url From tableB b where b.site_id=tableA .site_id);

 

[INSERT 설명]

추가적으로 타 테이블(cons_datalist)의 값으로 현재 테이블(cons_latlng_datalist)을 채우는 구문에 대해 설명하겠다.

 

[INSERT 구문]

INSERT INTO
            cons.cons_latlng_datalist (cons_seq, latlng_seq, lat, lng, latlng_address, user_id) 
SELECT
            seq, 1, cons_57, cons_58 ,cons_16 , cons_27
FROM
            cons.cons_datalist

insert into B select * from A WHERE type LIKE '%사과%'; 
설명 : A라는 테이블의 type필드의 값이 사과인 레코드를 전부 찾아 B에 입력해주라는 의미입니다.

728x90
반응형