2014-03-03 96 views
1

我需要從一個表中插入3列到另一個,使用3個字段JOIN:名字,姓氏和年齡從一個表插入到其他使用連接列

enter image description here

我需要更新列狀態, STATUS1和狀態2中TABLE_2其值從TABLE_1

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) 

正如你在評論認爲,來自不同數據庫的表這些,那麼請更改只有兩行中提到 喜歡。

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

它不工作:( 這2個表是從不同的數據庫也許這。原因是因爲我有錯誤信息 無法綁定多部分標識符「database.table_2.staus」 –

+0

如果它們來自diff dbs,它們完全不起作用我將編輯我的答案 –

0

只需更新Join表。 它會是這樣的:在這裏

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

相關問題