これが可能だとは思いませんが、可能かどうかを確認し、そうでない場合は最も効率的な代替手段を求めると思いました.
目的: andを使用して 1 つのクエリを
更新table_1
して使用するtable_2
Inner Join
WHERE
現在私は持っています:
UPDATE table_1
JOIN table_2 ON table_1.user_id= table_2.user_id
SET
table_1.value = 9,
table_2.value_fan = 43
WHERE
table_1.user_id = 1 AND table_2.fan_id =1
table_2
これは条件に従って正しく更新されWHERE
ますが、すべてのエントリはtable_1
どこで更新されtable_1.user_id = 1
ます...条件を無視しますtable_2.fan_id = 1
編集申し訳ありませんが、もっと明確にする必要がありました。上記のタイプミスが修正されました...以下はSQLFiddleへのリンクでもあります
http://sqlfiddle.com/#!2/58d7b/1
ご覧のように、Table_2_owned が正しく更新され、James という 1 人のユーザーだけが賞金を獲得しています (彼は city_id =1 および group_id =1 であるため)。ただし、group_id = 1 の table_1 のすべてのユーザーが更新されます。ジェームズだけを更新したいところ...