2011-02-04 11 views
3

SQL Server Compact Editionで複数のテーブルに基づいて行を更新する方法?SQL Server Compact Editionで複数のテーブルに基づいて行を更新する

私はデータベースに2つのテーブルを持っています。 ActivatedProductsとDocumentSettings.I DocumentSettingsテーブルに新しい列(UID)を加え、私はActivatedProductsからそのUIDのデータを入れたい(ID)クエリの次ActivatedProducts表

からのProductIDに関して表も

私を助けてください動作しません
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

の下あたりのようにそれを行うことができ、これらのクエリを読んで - ** WHAT **まさにそれはあなたがやろうとしているのですか?!?!?それはあなたの3つの別のクエリから非常に明確ではない...... –

答えて

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 
関連する問題