2017-09-14 12 views
0

Ok - これを理解するのに2時間を費やしました。検索StackOverflow、Google、MSDNなど私は迷っています。MS Access 2007 - テーブル内のフィールドを別のテーブルのデータで更新する

ここでMSSQLと他のSQLプラットフォームの明白な正解を見つけましたが、MS Access 2007 SQLでは動作しません。

表1にはフィールドIDと名前があり、表2には同じフィールドがあります。

表1では、IDフィールドに結合された表2の同じフィールドで[名前]フィールドを更新する必要があります。

私は無駄に多くの更新クエリを試してみました。

UPDATE table1 
SET table1.Name = table2.Name 
WHERE table1.ID=table2.ID 

いいえworky!

UPDATE table1 
SET table1.Name = (
SELECT Name From table2 Where Table2.ID=Table1.ID 
) 

解決策を見つけられない恐ろしい "更新可能なクエリを使用する"メッセージが表示されます。

UPDATE table1 
SET table1.Name=table2.Name 
FROM table1 INNER JOIN table2 ON table1.ID = table2.ID 

「構文エラー」!

私の脳は揚げられています。私は過去に何度もこれをやったことを誓っていますが、それを理解することはできません。私はこれが簡単で誰かが迅速な答えを持っていると確信しています。

答えて

2

updateのアクセスは、joinと少し異なります。あなたは試すことができます:

UPDATE table1 INNER JOIN 
     table2 
     ON table1.ID = table2.ID 
    SET table1.Name = table2.Name; 
+0

そしてOPを、ここでは 'UPDATE ... JOIN'は、MySQLの方言で共有されています。この*他のSQLプラットフォーム*を検索した場合、MS Accessで動作する可能性があります。 – Parfait

関連する問題