
サブクエリでtmp_tableをSELECTした結果で、item_tableをUPDATEします。
item_tableとtmp_tableの2つのテーブルを比較し、WHEREの条件(tmp_tableのcountが100の場合)に、idが一致するitem_tableのcountをtmp_tableのcountでUPDATEします。
item_table
id | count |
---|---|
1 | NULL |
2 | NULL |
3 | NULL |
4 | NULL |
5 | NULL |
tmp_table
id | count |
---|---|
1 | 100 |
2 | 800 |
3 | 100 |
4 | 100 |
5 | 500 |
以下のように書くことで、サブクエリで得た結果をUPDATE出来ます。
UPDATE item_table, (SELECT tmp_table.id, tmp_table.count FROM tmp_table WHERE tmp_table.count = 100 ) AS fix_items SET item_table.count = fix_items.count WHERE item_table.id = fix_items.id
UPDATEした結果は、以下のとおりです。
item_table
id | count |
---|---|
1 | 100 |
2 | NULL |
3 | 100 |
4 | 100 |
5 | NULL |