2014-03-03 2 views
1

내가 3 개 필드로 가입하여, 다른 한 테이블에서 3 열을 삽입 할 필요가 : 이름, 성, 연령 내가 열 상태를 업데이트 할 필요가삽입 한 테이블에 참여하여 다른 열

enter image description here

, 당신이 다른 데이터베이스에서이 표는, 만 두 줄을 변경하시기 바랍니다 의견에서 언급 한 바와 같이

IF 

table_1.name = table_2.name 
table_1.surname = table_2.surname 
table_1.age= table_2.age 

답변

1
UPDATE t2 
SET 
t2.[status]=t1.[status] 
,t2.[status1]=t1.[status1] 
,t2.[status2]=t1.[status2] 
FROM [table_1] t1 
INNER JOIN [table_2] t2 
ON (t1.name=t2.name AND t1.surname=t2.surname AND t1.age=t2.age) 

된 table_1의 값으로 table_2의 상태 1과 STATUS2 처럼.

FROM [yourDataBase1Name].[dbo].[table_1] t1 
INNER JOIN [yourDataBase2Name].[dbo].[table_2] t2 
+0

그것은 작동하지 않습니다 :( 이 두 테이블은 어쩌면 서로 다른 데이터베이스에서입니다. 는이 같은 것 이유는 무엇입니까 오류 메시지가 있기 때문에 다중 파트 식별자 "database.table_2.staus"는 바인딩 할 수 없습니다. –

+0

은 diff dbs에서 정확하게 작동하지 않습니다. 내 대답을 편집합니다. –

0

조인으로 테이블을 업데이트하면됩니다. 자세한 내용은 여기를

UPDATE t2 
SET t2.status = t1.status, 
    t2.status1 = t1.status1, 
    t2.status2 = t1.status2 
FROM t2 JOIN t1 on (t1.first_name = t2.first_name AND t1.last_name = t2.last_name AND t1.age = t2.age); 

봐 : SQL update query using joins

SQL 바이올린 : http://sqlfiddle.com/#!3/b3951/1

관련 문제