我有一张桌子" 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个查询。
答案 0 :(得分:2)
您可以使用switch
:
update master
set target = switch(dfm = 50001, 85,
dfm = 50009, 255,
. . .
)
where dfm in (50001, 50009, . . .);