2011-02-04 65 views
3

如何基于SQL Server Compact Edition中的多个表更新行?基于SQL Server Compact Edition中的多个表更新行

我在数据库中有两个表。 ActivatedProducts和DocumentSettings.I加入DocumentSettings表新列(UID),我希望把他们的UID数据从ActivatedProducts(ID)表针对的ProductID从ActivatedProducts表

下面的查询也不能正常工作,请帮助我

UPDATE DocumentSettings 
SET UID = 
    (
     SELECT ActivatedProducts.ID 
     FROM ActivatedProducts 
     WHERE DocumentSettings.TitleID = ActivatedProducts.ProductID 
    ) 


UPDATE A 
    SET A.UID = B.ID 
FROM DocumentSettings A, ActivatedProducts B 
WHERE A.TitleID = B.ProductID 


UPDATE DocumentSettings 
    SET [UID]=AP.[ID] 
FROM DocumentSettings DS 
INNER JOIN ActivatedProducts AP ON DS.[Titleid]=AP.[ProductID] 
+1

且读取这些疑问 - ** **什么究竟是你想做到这一点?!?!?从你的三个不同的疑问来看,这并不是很清楚...... – 2011-02-04 08:52:05

回答

3

我上次检查时,SQL Server CE 仍然不支持UPDATE-FROM-JOIN语法。你所展示的所有3都可以在Sql Server中正常工作,但是在CE中,你将需要以编程方式检索每个值以便在循环中进行更新。

参考: UPDATE (SQL Server Compact - 2008)

-1

你能做到按以下

UPDATE [table one] 
     SET [table one].result = [table two] .results 
     FROM [table one] T1 
     INNER JOIN [table three] t3 
     on t1.reg_id = t3.reg_id 
     INNER JOIN [table two] T2 
     on t2.venue = t3.venue 
相关问题