KoReKuRai
   英語/転職   海外/国内旅行   健康    ☰ MENU

MS Access 2016 UPDATEでJOINした時のエラー対処法「更新可能なクエリであることが必要です。」

sql

2つのテーブルをJOINしてUPDATE(更新)しようとしたら「更新可能なクエリであることが必要です」のクエリエラーが発生しました。

 クエリは以下の通りで全く問題無いです。何が問題なのか調べてみたら分かりました。


UPDATE TableA 
INNER JOIN TableB ON TableA.id = TableB.id 
SET TableA.name = TableB.name;

やりたいこと

下記にある2つのテーブル(TableAとTableB)をid列でJOINして、TableAのname列をTableBのname列にある値で置き換えたい。

※TableBはExcelファイルのリンクテーブルを元に作成したSELECTクエリです。

TableAのデータは以下の通りです。

  1. id, name, date
  2. 1, abc, 2016/1/1
  3. 2, def, 2016/1/2
  4. 3, ghi, 2016/1/3
  5. ...

TableBのデータは以下の通りです。

  1. id, name, code
  2. 2, def, 1583929
  3. 4, klm, 9484739
  4. 8, nop, 5758498
  5. ...

 

エラーの原因

クエリデザインで作成したリンクテーブルのSELECTクエリをJOINすることができないみたいです。

SELECTクエリがダメということなので、わざわざテーブルを用意してそこにデータを流し込みます。 その新規作成したテーブルをJOINさせたらエラー無くUPDATEができました。不便。

クエリは以下の通りです。この手順でUPDATEは出来ましたが、テーブル同士のJOINじゃないとUPDATEしてくれないので1つステップが余計に必要になります。


1.SELECT * INTO TableC FROM TableB(TableBのSELECTクエリの結果をTableCに入れます)
2.UPDATE TableA INNER JOIN TableB ON TableA.id = TableB.id SET TableA.name = TableB.name;(再度UPDATE文を実行)

 

スポンサーリンク

📄 関連記事


🔝上へ
スポンサーリンク

📄 月間ランキング



🔝上へ
こんな記事も読まれてます。

TRAVEL JAPAN
国内旅行 記事一覧

屋久島雨の日の空気伊豆下田のきれいな海富士山の頂上ってどんなとこ?京都観光マップ京都 紅葉とライトアップ富士山周辺観光マップ北海道の知床の絶景箱根駒ケ岳で見る富士山

TRAVEL ABROAD
海外旅行 記事一覧

インド出張 タクシーで牛と遭遇スペインで風車を見たナイアガラの滝の虹が凄い深夜のNYタイムズスクエア香港の夜景は船からアメリカのレンタカー代でいくら?グランドキャニオンまでドライブシドニーの世界遺産
🔝上へ

CATEGORY
カテゴリ

📂ビジネス:外資系企業の転職,英語,面接,働き方

📂国内旅行:北海道,屋久島

📂旅行,出張:スペイン,インド,台湾.飛行機対策

📂健康:風邪予防,食,メンタル

📂子育て:英語,育て方,旅行

📂PC関連:エンジニアの苦悩,効率化,Windowsのトラブル対応

📂海外ドラマ:海外ドラマ・映画のレビューと感想

📂車関連:海外のレンタカー,試乗レポート,軽自動車,等々

PROFILE
プロフィール

これくらいブログKoReKuRaiです。神奈川県在住。外資系IT業界でお仕事続けて12年。現在、3歳児の子育てに奮闘中です。ビジネス英会話、転職、出張、旅行記や子育て、サイト作成やコーディングに色々役立つと思うブログを書き足していきます。拙い文章ですがよろしくお願いします。メールはこちらまでお願いします。

Copyright 2017 KoReKuRai All Rights Reserved.