Accessでクエリを更新する際に問題があります。私は3つのテーブルを持っています:3つのテーブルを持つ結合クエリの更新
私はそれが正しいデザインであるかどうかは分かりませんが、今はあまり重要ではありません。
Excelデータでデータベースを更新したいとします。私はプロセスをより明確にするためにCityImport
テーブルを作成することに決めました。私はこのテーブルに市の情報を入れて、それにCity
の表を記入したいと思います。 UPDATE (CityImport INNER JOIN Country ON CityImport.Country = Country.CountryName) LEFT JOIN City ON City.CityName = CityImport.City AND City.CountryID = Country.ID SET City.CityName = CityImport.City, City.CountryID = Country.ID WHERE CityImport.City IS NOT NULL
のようなクエリを実行すると、JOIN expression not supported
エラーが発生します。
私は構文に問題があると思っていましたが、JOINから1つの条件を削除してUPDATE (CityImport INNER JOIN Country ON CityImport.Country = Country.CountryName) LEFT JOIN City ON City.CityName = CityImport.City SET City.CityName = CityImport.City, City.CountryID = Country.ID WHERE CityImport.City IS NOT NULL
のままにしておくと、正常に動作します。問題は、異なる国の同じ名前の都市を無視することです。
このような結合を正しく行うことはできますか?それとも定義上間違っていますか? 1つのテーブルを別のテーブルの2つの列にある別の結合結果と結合する必要があります。私はおそらく、この場合何とかそれを回避することができますが、私はもっと複雑なテーブルのために同じ方法を使いたいと思います。
私は何時間もの間、このクエリーを別のテイクでプレイしましたが、何百回もグーグルグーグルでグーグルで成功しました。
http://stackoverflow.com/questions/15209414/how-to-do-3-table-join-in-update-query?rq=1 – Dave
@Dave、それは私の正確な問題に対処していません。私はテーブルを結合する方法を知っている、私が働くことができないものは、ネストされた結合にある2つの異なるテーブルのフィールドにそれらを結合することです。 – brainac