2017-08-17 20 views
0

私はAccessでビルドしようとしている複雑なクエリを持っています。 1つのテーブルの複数のフィールドが別のテーブルのフィールドと一致しないかどうかを確認するために、不一致クエリウィザードを使用しました。これらのうちの2つは部分文字列である必要があります。基本的にTable1.Fの右の2文字がTable2.Fの右の2文字の場合。アクセスはサブストリングの結合式を表すことができません

私はSQLビューで記述すると正しいです。しかし、デザインビューに戻そうとすると、メッセージが表示されます。

Microsoft Accessは結合式を表すことができません。右(Table1.F、2)=デザインの右(Table2.F、2)ビュー。

これは私が持っているもの、本質的である:

UPDATE TABLE1 LEFT JOIN TABLE2 ON (TABLE1.A = TABLE2.A) AND (TABLE1.B = 
TABLE2.B)... 
AND (RIGHT(TABLE1.F,2) = RIGHT(TABLE2.F,2)) 
SET TABLE1.ERROR = X 
WHERE (TABLE2.A IS NULL) AND (TABLE2.B IS NULL)... ; 

は、デザインビューが受け入れるような方法でこれを書くための方法はありますか? MS-アクセスでのMySQLへ

答えて

0

尊重は、設定された値は、あなたが左に関わるテーブルのカラム上の条件が加わる場所を使用しない比較です周りや全体的な)(役に立たない避けることができる条件

UPDATE T 
    SET T.ERROR = X 
    FROM TABLE1 AS T 
    LEFT JOIN TABLE2 ON TABLE1.A = TABLE2.A 
     AND TABLE1.B = TABLE2.B ... 
      AND RIGHT(TABLE1.F,2) = RIGHT(TABLE2.F,2) 
       AND TABLE2.A IS NULL AND TABLE2.B IS NULL ... ; 

に参加する前に配置されています.. このようにして、内部結合としての作業
左結合のon節の条件を移動します。

+0

これは許可されません。構文エラー。 "set"の後の "from"節が気に入らない。不要な括弧はクエリビルダから自動的に追加されます。それは何らかの理由で彼らを愛しています。私はそれらを削除し、それらを戻します。 – Nina

+0

Answer update .. ..更新テーブルのエイリアスがありますが、実際には正しいと思われます。このコードでmsアクセスを使用していますか? – scaisEdge

関連する問題