2

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 であり、f229 ですが、代わりにf11 回だけ減分されて 24 になります。

4

1 に答える 1