2011-02-04 120 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 
相關問題