2012-04-05 66 views
0

表1如何從另一個表

ID  Loc 
----------- 
001 null 
002 null 
003 PYD 
004 null 
.... 

表2

ID  Loc 
----------- 
001 TMB 
002 null 
003 PYD 
004 SHD 
.... 

我想更新從表2 table1的更新記錄。我需要這樣的:

update table1 set LoC = Select LoC from table2 

和預期輸出:

表1

ID  Loc 
----------- 
001 TMB 
002 null 
003 PYD 
004 SHD 
.... 

如何從表2表1更新?

+1

爲什麼在SQL服務器-2000標籤刪除?這個問題不適用於sql-server-2000嗎? – 2012-04-05 05:47:23

回答

2

嘗試類似:

update t 
set t.loc = t2.loc 
from table1 t 
inner join table2 t2 on t.id =t2.id 
1
update table1 set LoC = (Select LoC from table2 where table2 .ID = table1 .ID) 
+0

這可能運行時間過長。 – StuffHappens 2012-04-05 05:40:53

0

您可以使用連接。

update t1 set t1.Loc=t2.Loc 
From Table1 t1 inner join Table2 t2 
on t1.Id=t2.Id 
+0

加入需求,而不是條款。 – StuffHappens 2012-04-05 05:40:18

+0

查詢不正確。 – 2012-04-05 05:54:42

+0

oops ..現在改變了它 – Thakur 2012-04-05 05:55:23

1

這就是你需要的嗎?

update table1 
set Loc = t2.Loc 
from table1 t1 join table2 t2 
    on t1.ID = t2.ID 
1
update table1 
set Loc = table2.Loc 
from table2 
where table1.ID = table2.ID