我需要有关 Microsoft Access 问题的帮助,
我有以下 ID 数据,
ID
AAA
BBB
BBB
CCC
DDD
我需要根据 ID 创建一个新的数字 ID 字段。它应该看起来像这样,
ID --- NewID
AAA --- 1
BBB --- 2
BBB --- 2
CCC --- 3
DDD --- 4
我需要有关 Microsoft Access 问题的帮助,
我有以下 ID 数据,
ID
AAA
BBB
BBB
CCC
DDD
我需要根据 ID 创建一个新的数字 ID 字段。它应该看起来像这样,
ID --- NewID
AAA --- 1
BBB --- 2
BBB --- 2
CCC --- 3
DDD --- 4
让我们调用您现有的 ID 表tblOldIDs
。假设它有一列,ID
,其中的数据如上所示。
现在,运行以下 SQL 语句:
create table tblNewIDs (
NewID autoincrement primary key
, OldID long not null references tblOldIDs (ID)
)
这将创建一个新表,其中包含与旧 ID 对应的新 ID。表引用约束将有助于强制执行这一点。
现在运行以下 SQL:
insert into tblNewIDs (OldID)
select distinct o.ID
from tblOldIDs as o
现在,您的新表tblNewIDs
中充满了从旧 ID 到新数字 ID 的映射!
编辑:如果您将映射作为一次性的事情进行,则上述插入查询很好。但是,如果您需要重复映射过程,您可以使用以下查询,该查询仅将旧 ID 映射到尚未映射的新 ID:
insert into tblNewIDs (OldID)
select distinct o.ID
from tblOldIDs as o
where o.ID not in (
select OldID
from tblNewIDs
)