MS Access SQL中对表的多次更新

时间:2018-05-07 22:30:22

标签: sql ms-access

我有一堆值需要在列中更改,它们与现有值匹配。例如,

 new    old
100001  1001
100004  1004
100005  1005
100011  1011
100022  1022

是的,这里有一种模式,但这种模式在列表中进一步突破,因此substr不会在整个过程中发挥作用。

无论如何,我希望做以下事情,我知道这是不对的:

UPDATE table SET field = '100001' WHERE field = '1001',
             SET field = '100002' WHERE field = '1002',
             etc...

在引号中,因为该字段是字母数字,尽管此示例仅显示整数。

上述的变化是否有效,我只是没想到?

尽可能避免导入,加入,重命名。

1 个答案:

答案 0 :(得分:0)

总之,答案是否定的,以上都行不通。我刚刚创建了一个新表,将新旧代码上传到我想用新代码更新的表中插入一列。

然后我在我的JOIN中执行了UPDATE,将新代码读入表格,然后从他们的代码为NOT NULL的更新中进行了更新。基本上只有几个步骤,但听起来评论中可能有更好的方法。

UPDATE table1 AS c INNER JOIN table2 AS n ON c.Code=n.OldCode SET c.NewCode = n.NewCode
WHERE c.Client= 175;

则...

UPDATE table1 SET Code = NewCode
WHERE Client = 175 AND NewCode IS NOT NULL;