0

問題は次のとおりです。

UPDATE school_new 
  SET school_new.school_id = school.[School ID], 
      school_new.school_address = school.[School Address]
FROM school_new
INNER JOIN school on school_new.school_name = school.[School Name]

そして、このエラーが発生し、何が問題なのかわかりません

クエリ式 'school.[学校 ID] の構文エラー (演算子の欠落) FROM school_new INNER JOIN school on school_new.school_name = school.[学校名]

4

4 に答える 4

4

Join on Access を使用した更新クエリに若干の変更があります

UPDATE school_new 
INNER JOIN school on school_new.school_name = school.[School Name]
  SET school_new.school_id = school.[School ID], 
      school_new.school_id = school.[School ID]
于 2012-07-26T05:15:34.773 に答える
1

SET キーワードの前にテーブルと結合条件をリストします。

UPDATE school_new
INNER JOIN school
    ON school_new.school_name = school.[School Name]
SET school_new.school_id = school.[School ID]

あなたの例では、school_new.school_id = school.[School ID]2回割り当てました。私はそれをSET一度だけしました。2 回リストすると、db エンジンがエラーをスローするため、この点は重要です...

Duplicate output destination 'school_new.school_id'.

あなたの質問の更新に基づいて...

UPDATE school_new
INNER JOIN school
    ON school_new.school_name = school.[School Name]
SET school_new.school_id = school.[School ID], 
    school_new.school_address = school.[School Address]
于 2012-07-26T05:19:45.337 に答える
0

これは奇妙に聞こえるかもしれませんが、school_new_Test などのサンプル テーブルを作成して、名前にスペースを付けず、同じ方法で学校の複製テーブルを作成します。およびスペースなしの列名。

于 2012-07-26T05:11:02.610 に答える
-3

通常、'update' ステートメントは結合できません。したがって、ネストされたクエリを使用します

update school_new
set school_new.school_id = (select school.[school ID]
from school where school.[school name] = school_new.school_name)
于 2012-07-26T05:10:06.773 に答える