2017-02-16 13 views
0

この例の "Products"という名前のテーブルの "Price"フィールドを "OrderDetails"という別のテーブルの "Quantity"フィールドで更新しようとしています。 tを一時的なテーブルとしてOrderDetailsのクエリ結果を格納し、次にINNERは2つのテーブル(pとt)をジョインする。私はまだエラーが発生している。クエリピース(SELECT ...... GROUP BY ProductID)が有効である。これは、エラーがスローされるUPDATEです。任意の考え?MS Access SQL:別のテーブルから合計で結合クエリを更新

UPDATE p 
    SET Price = t.sumQuan 
    FROM Products AS p 
    INNER JOIN 
    (
     SELECT ProductID, SUM(Quantity) sumQuan 
     FROM OrderDetails 
     GROUP BY ProductID 
    ) t 
    ON t.ProductID = p.ProductID; 
+0

エラーメッセージは何ですか? – xQbert

+2

[アクセスDBが別のテーブルから値を持つ1つのテーブルを更新する]の可能な複製(http://stackoverflow.com/questions/787186/access-db-update-one-table-with-value-from-another) – xQbert

+0

@xQbert私が受け取ったエラーは、私が理解できないUPDATE文の構文エラーです。私はこれについてStackoverflowでいくつかのトピックを読んで、私はまだ間違っていたか分からない。誰かが私を助けることができる場合は、いくつかのポインタが素晴らしいだろう。 – NinjaWarrior

答えて

1

他のRDBMS対Accessで多分ちょうど構文の分散?

UPDATE products 
INNER JOIN (SELECT ProductID, SUM(Quantity) sumQuan 
      FROM OrderDetails 
      GROUP BY ProductID 
      ) t 
    ON t.ProductID = p.ProductID; 
SET Price = t.sumQuan 
関連する問題