基于多个选项更新多个值的字段

时间:2017-01-06 15:16:13

标签: sql ms-access

我有一张桌子" Master"字段称为" DFM"和#34;目标"。理想情况下,我需要1个UPDATE查询来填充"目标"基于DFM值的字段如下:

DFM Target

50001   85
50009   255
50011   233
50012   290
50062   183
50063   150
50064   159.5
50142   187
50143   174
50179   284.25
50180   195.75
50286   157.25
50287   231.25

例如,如果DFM值为50142,则应使用187更新该行的字段。

这可以通过1个查询完成,还是需要13?

我只知道漫长的方式,即

UPDATE Master, SET Target = 85 WHERE DFM = 50001

我真的不想要13个查询。

1 个答案:

答案 0 :(得分:2)

您可以使用switch

update master
    set target = switch(dfm = 50001, 85,
                        dfm = 50009, 255,
                        . . .
                       )
    where dfm in (50001, 50009, . . .);