TABLE1
TABLE2
TABLE1 의 컬럼2 내용을 TABLE2 의 컬럼2 에 UPDATE 하고 싶습니다.
TABLE2 결과
SELECT 해서 하나씩 UPDATE 하는것 말고
위 두 테이블을 조인해서 UPDATE 하는게 있다는 이야기를 들었는데요...
TABLE1 과 TABLE2 를 JOIN 해서 결과를 TABLE1 에 UPDATE 한번에 하는 쿼리가 되나요?
고수님들 답변 부탁드립니다. (__)
create table t1(c1 char(5),c2 integer);create table t2(c1 char(5),c2 integer);
insert into t1 values('A',100),('B',200);insert into t2(c1) values('A'),('B'),('C');
select * from t1;
C1 C2 ----- -----------A 100B 200
select * from t2;
C1 C2 ----- -----------A -B -C -
update t2 set c2=(select c2 from t1 where t1.c1=t2.c1);
C1 C2 ----- -----------A 100B 200C -
insert into t1 values('A',200);
DB21034E 명령이 유효한 명령행 처리기 명령이 아니므로 SQL문으로 처리되었습니다.SQL 처리 중에 이 명령은 다음을 리턴했습니다.SQL0811N 스칼라 fullselect, SELECT INTO문 또는 VALUES INTO문의 결과가 두 행이상입니다. SQLSTATE=21000
update t2 set c2=(select max(c2) from t1 where t1.c1=t2.c1);
C1 C2 ----- -----------A 200B 200C -
update t2 set c2=50 where c1 = 'C';
C1 C2 ----- -----------A 200B 200C 50
update t2 set c2=50 where c1 = 'C'
update t2 set c2=(select max(c2) from t1 where t1.c1=t2.c1) where t2.c1 in (select t1.c1 from t1)
도님 감사합니다... ^^*