同时更新列中的多个字段Microsoft Access

时间:2013-06-28 16:24:35

标签: sql ms-access

说我有下表:

App   owner   owner_id
______________________
1     John    NULL
2     Jack    000123
3     John    NULL
4     April   000124
5     John    NULL
6     April   000124
7     John    000123
8     Ash     NULL
9     Ash     NULL
10    Ash     NULL

如果我需要更新John和Ash的owner_id,是否可以通过仅输入一次信息来更新表中每次出现的每个所有者的owner_id
我必须为大约1000个所有者执行此操作,但是我看到大约10000个空白owner_id的重复数量。

我没有适当的权利来重组或分割表格。

1 个答案:

答案 0 :(得分:4)

如果我没有误解你的问题,那就是:

update owners_table set owner_id = '000001' where owner = 'john'
update owners_table set owner_id = '000002' where owner = 'ash'

这会在所有者为owner_id的每一行中将000001设置为John,并在所有者为000002的每一行中将Ash设置为owner newid -------------- John 000001 Ash 000002

这只是更多的副本&当你拥有很多所有者时粘贴,因为你必须为每个所有者创建一个查询。


另一种方法是创建一个只包含所有者及其新ID的临时表:

owner_ids

您可以在表格中输入数百或数千名所有者及其新UPDATE owners_table INNER JOIN ownertmp ON owners_table .owner = ownertmp.owner SET owners_table.owner_id = [ownertmp].[newid];

然后,您可以使用以下查询一次在主表中更新它们:

{{1}}

之后,您可以再次删除临时表 - 只需运行查询。