SQL使用IN多次更新同一行

时间:2018-12-06 23:30:45

标签: sql

所以说我正在跟踪一个容器中有多少东西, 但我想将多个物品从一个容器移到另一个容器。

从其他容器中移出物品很容易

UPDATE Item SET ContainerID = 2 WHERE ID IN (1,2,3,4,5,6);

这会将项目1-6移到ID为2的容器中,在容器中,我一直在跟踪容器中有多少个项目,因此我想减少这些项目来自的容器中的数量。

让我们说1-6项来自ContainerID 3-8,我只想查询

UPDATE Containers SET Contains = Contains - '1' WHERE ID IN (3,4,5,6,7,8)

但是,如果项目1-4来自ContainerID 1,项目5-6来自ContainerID 3,我不能就这样

UPDATE Containers SET Contains = Contains - '1' WHERE ID IN (1,1,1,1,3,3)

由于这只会将ID 1和3减1,是否有任何方法可以运行它,以便它在我的列表中每次出现的ID都从“包含”字段中减去?

0 个答案:

没有答案
相关问题