如何使用不同的where子句将多个值插入PG?

时间:2019-06-07 02:12:03

标签: postgresql pg

这是我的数据设置方式:

Zone
------
zone_id
value
other_id

对于所有更新,我将使用相同的zone_id。我只是在更新value,但是other_id在每种情况下都不同。

即:zone_id: 1, [{value: 10, other_id: 12}, {value: 40, other_id: 17}, ...]

我想一口气做到这一切。

UPDATE zone set value = {value} where zone_id = {id} and other_id = {other},但我想在同一条语句中设置多个value

我该怎么做?这可能吗?

1 个答案:

答案 0 :(得分:0)

我不是100%清楚,但我认为您是有条件地设置value。所以这样的事情应该起作用:

UPDATE zone
SET value = CASE other_id
              WHEN 12 THEN 10
              WHEN 17 THEN 40
              -- and so on
              ELSE value
            END
WHERE zone_id = 1