2011-10-24 43 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 
相关问题