2番目のテーブルに存在する1つのテーブルのすべての値を、出現ごとに1回更新しようとしています。
表の例feeding_view
:
fishnr | food_name | stock
-------+-----------+-------
1 | f1 | 25
2 | f1 | 25
3 | f2 | 30
表の例inventory
:
item_name | stock
----------+-------
f1 | 25
f2 | 30
f3 | 10
現在、私はこれをやろうとしています:
UPDATE inventory SET stock = stock - 1 WHERE item_name IN (SELECT food_name FROM feeding_view)
何が起こるかはf1
、1回だけ減分されますf1
が、feeding_view
. したがって、目的の在庫f1
は 23 であり、f2
29 ですが、代わりにf1
1 回だけ減分されて 24 になります。