2011-10-24 42 views
1

我想從輔助表中的數據更新主表中的特定行。用第二個表中的數據更新表的行

我有一個100,000行的主表,其中有許多列,其中之一是「UniqueCode」,一個唯一的Alpha代碼,另一個是「Data」,它包含一串文本。我有一個約2000行,2列「New_Data」和「Code」的較小的輔助表。 「新數據」是另一個字符串,「代碼」是Alpha代碼,它等於主表中的「UniqueCode」。

當輔助表中的Alpha代碼等於主表中的Alpha代碼並將其設置爲與輔助表中的「New_data」相同時,我想更新主表中的「Data」列。

希望有任何幫助,因爲努力找到一種方法來做到這一點。

回答

2
UPDATE MasterTable 
SET 
    Data = s.New_Data 
FROM MasterTable m 
INNER JOIN SecondaryTable s ON m.UniqueCode = s.Code 
+0

不SQL 2000支持這樣的語法? – abatishchev

+0

@abatishchev:究竟是什麼讓你感到困惑? (http://msdn.microsoft.com/en-us/library/aa260662(v=sql.80).aspx) – sll

+0

我還沒有從我的實例檢查,但從內存中,這是有效的SQL Server 2000代碼。 –

1
update master 
set data = s.new_data 
from master m 
inner join second s on m.alphacode = s.code 

update master 
set data = s.new_data 
from master m, second s 
where m.alphacode = s.code 
相關問題