キーが別のクエリに存在するかどうかに基づいて更新する 1 つのフィールドを持つ MS Access テーブルがあります。調査を試みたところ、似ているが同じではない問題が見つかりました (例: Access 2003 - 選択クエリの結果に基づいて更新クエリを実行する) が、それらを自分の状況に変換する方法がわかりません。
基本的に、更新が必要なすべてのエントリの主キーを返すクエリを作成しました。
そう
クエリ: "temp" は、変更するすべてのレコードの KeywordID を返します。24Kレコードです
次に、更新したいテーブルがあります
テーブル:「キーワード」には「優先度」フィールドがあり、KeywordID が一時クエリに含まれるすべてのレコードに対して、これを [はい] に設定したいと考えています。約 900K 行あります。
何をすべきか分からない: 私が試したすべての間違った方法を以下に示します:
UPDATE keywords SET keywords.Priority = Yes JOIN temp ON keywords.KeywordID = temp.KeywordID ; ' SYNTAX error
UPDATE keywords SET keywords.Priority = Yes INNER JOIN temp ON keywords.KeywordID = temp.KeywordID ; ' SYNTAX error
UPDATE keywords INNER JOIN temp ON keywords.KeywordID = temp.KeywordID SET keywords.Priority = Yes; ' Must use an updatable query
UPDATE keywords SET keywords.Priority = Yes WHERE EXISTS (SELECT temp.KeywordID from TEMP); ' tries to update 900K records
どんな援助も素晴らしいでしょう。