[SQL] 서로 데이터를 하나 개의 테이블을 업데이트
SQL서로 데이터를 하나 개의 테이블을 업데이트
1 번 테이블:
id name desc
-----------------------
1 a abc
2 b def
3 c adf
표 2 :
id name desc
-----------------------
1 x 123
2 y 345
어떻게 표 2의 이름과 내림차순이 동일한 ID를 사용하여 표 1을 업데이트 할 수있는 SQL 업데이트 쿼리를 실행합니까? 내가 얻을 것 최종 결과는 그래서
1 번 테이블:
id name desc
-----------------------
1 x 123
2 y 345
3 c adf
이는 방법을 위해 수행 할 수 있습니다 :
해결법
-
==============================
1.MySQL 용 :
MySQL 용 :
UPDATE table1 JOIN table2 ON table1.id = table2.id SET table1.name = table2.name, table1.`desc` = table2.`desc`
SQL Server의 경우 :
UPDATE table1 SET table1.name = table2.name, table1.[desc] = table2.[desc] FROM table1 JOIN table2 ON table1.id = table2.id
-
==============================
2.오라클 11g R2 :
오라클 11g R2 :
create table table1 ( id number, name varchar2(10), desc_ varchar2(10) ); create table table2 ( id number, name varchar2(10), desc_ varchar2(10) ); insert into table1 values(1, 'a', 'abc'); insert into table1 values(2, 'b', 'def'); insert into table1 values(3, 'c', 'ghi'); insert into table2 values(1, 'x', '123'); insert into table2 values(2, 'y', '456'); merge into table1 t1 using (select * from table2) t2 on (t1.id = t2.id) when matched then update set t1.name = t2.name, t1.desc_ = t2.desc_; select * from table1; ID NAME DESC_ ---------- ---------- ---------- 1 x 123 2 y 456 3 c ghi
업데이트 문 내부에 가입과 함께 - 오라클은 참조하십시오.
-
==============================
3.
UPDATE table1 SET `ID` = (SELECT table2.id FROM table2 WHERE table1.`name`=table2.`name`)
-
==============================
4.다음 코드를 사용해보십시오. 그것은 나를 위해 노력하고 있습니다 ....
다음 코드를 사용해보십시오. 그것은 나를 위해 노력하고 있습니다 ....
UPDATE TableOne SET field1 =(SELECT TableTwo.field1 FROM TableTwo WHERE TableOne.id=TableTwo.id), field2 =(SELECT TableTwo.field2 FROM TableTwo WHERE TableOne.id=TableTwo.id) WHERE TableOne.id = (SELECT TableTwo.id FROM TableTwo WHERE TableOne.id = TableTwo.id)
-
==============================
5.ID에 따라 표 2와 표를 업데이트 쿼리의 다음 블록을 사용합니다 :
ID에 따라 표 2와 표를 업데이트 쿼리의 다음 블록을 사용합니다 :
UPDATE Table1, Table2 SET Table1.DataColumn= Table2.DataColumn where Table1.ID= Table2.ID;
이이 문제를 해결하기위한 가장 쉽고 빠른 방법입니다.
from https://stackoverflow.com/questions/5036918/update-one-table-with-data-from-another by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 데이터베이스 테이블에서 다형성? (0) | 2020.04.13 |
---|---|
[SQL] 어떻게 SQL Server의 가입과 UPDATE 문을 할 수 있습니까? (0) | 2020.04.13 |
[SQL] 기본 키가없는 SQL 테이블에서 삭제 중복 레코드 (0) | 2020.04.13 |
[SQL] MySQL의 업데이트 쿼리의 증가 값 (0) | 2020.04.13 |
[SQL] SQL 서버는 어디 식 케이스를 무시 (0) | 2020.04.13 |