t1とt2という 2 つのテーブルがあるとします。t1には 2 つのフィールドがあり、1 つはaと呼ばれる一意の値を含み、もう 1 つはvalueと呼ばれるフィールドです。テーブルt2には、bと呼ばれる一意の値を含まないフィールドと、同じくvalueと呼ばれるフィールドがあります。ここで、次の更新クエリを使用すると (これは MS Access を使用しています):
UPDATE t1
INNER JOIN t2 ON t1.a=t2.b
SET t1.value=t2.value
次のデータがある場合
t1 t2
a | value b | value
------------ ------------
'm' | 0.0 'm'| 1.1
'm'| 0.2
クエリを実行して、t1.value で最終的にどのような値になりますか? いくつかのテストを実行しましたが、一貫した動作を見つけることができなかったので、未定義である可能性があると推測しています. それとも、この種の更新クエリは実行すべきではないものですか? なぜ私がこのようにしなければならなかったのかについては、長い退屈な話がありますが、それは私の調査の技術的な性質とは関係ありません。