gpt4 book ai didi

sql - Access 更新查询sql多个值

转载 作者:行者123 更新时间:2023-12-04 14:18:53 25 4
gpt4 key购买 nike

我已经在寻找解决方案,但尚未找到可行的解决方案...

我正在尝试根据另一列中的不同值来更新一列中的多个值。例如:

If status = F05 then statusID = 987
If status = F12 then statusID = 12957

我尝试了这个没有成功:
UPDATE myTable
SET statusID = CASE status
WHEN 'F05' THEN 987
WHEN 'F12' THEN 12957
END

有数千个需要更新,因此,当然,我想在一个更新查询中运行它。

我想念什么?我究竟做错了什么?

谢谢!

最佳答案

在 Access 中,您可以使用SWITCH函数。 CASE语句不起作用。

UPDATE myTable
SET statusID =
SWITCH
( [status] = 'F05', 987,
[status] = 'F12', 12957)

但是,如果您有太多项目,则可能要创建一个映射表,其数据如下所示:
OldStatus | NewStatus
---------------------
F05 | 987
F12 | 12957

然后执行以下操作
UPDATE 
myTable
INNER JOIN Mapping ON myTable.Status = Mapping.OldStatus
SET
myTable.Status = Mapping.NewStatus;

关于sql - Access 更新查询sql多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com