重新编号相同的字段值

时间:2016-10-13 19:43:28

标签: sql ms-access

我有一个字段值相同的表(0)。我想从-1开始按顺序重新编号。此字段值大约有1800行。有没有办法用查询来做到这一点?如果我不需要,我宁愿不使用VBA来完成这项任务。

1 个答案:

答案 0 :(得分:0)

您可以使用自动编号字段生成数字。

由于您需要编号的字段中的行具有不同于0的值,因此它会变得草率。您将提取'0'行,将它们放置一个具有自己的自动编号字段的临时表(起始值1,递增+1),运行此查询(对于此示例,它将被称为newnum_qry)。

SELECT autonumber, autonumber-(autonumber*2) as newnumber , [your other columns]
FROM int_tbl

然后将行返回到原始表,从后面的临时表中保留自动编号。查询重新合并:

SELECT source_of_zeroes, null as newnumber, [your other columns]
    FROM orig_tbl
    WHERE source_of_zeroes != 0
UNION
    SELECT source_of_zeroes, newnumber, [your other columns]
    FROM newnum_qry

这是解决方案,IMO,真的很垃圾。应该有更好的方法,但在Access中通常就是这种情况,垃圾可能是你能做到的最好的。