-1

所以我刚刚开始工作,我们所有的数据都在这个糟糕的访问数据库上,没有输入验证或防止数据更改。到目前为止,我对数据库管理还不是很熟悉,尽管我正在研究它,如果你愿意的话,我需要完善这个垃圾。有多个表将相同的数据从一个表复制到另一个表,但没有任何有意义的关系。一个特定的表没有指定主键,并且不知何故,每条记录都至少重复了一次,有时甚至重复了 4 次。它是一个现代数据库。Field1 是 modem_name,Field2 是软件版本,field3 是波形,其余字段是归属于该波形的数据。

因此,您可以看到 field1 中有很多字段写着“modemA”,field2 中写着“software 1.2.3”,field3 中有很多字段写着“waveformX”等。我需要删除重复的记录,但我没有不了解如何使查询将所有字段作为一条完整记录而不是单个字段进行检查。因为说modemA和modemB都有1.0的软件版本,并且都使用waveformX和waveformY但是“modemA”&“1.0”&“waveformX”不同于“modemA”&“1.0”&“waveformY”不同于“modemB” " & "1.0" & "waveformX" 等......

我想知道是否最好将其全部分解为具有适当一对多关系的单独表格。我无法浏览 7k 条记录并删除所有其他记录,我无法弄清楚如何将所有字段添加在一起以过滤掉多余的字段。

4

3 回答 3

1

我建议在尝试任何事情之前先进行备份以防万一。

要识别表中的唯一行,您可以使用以下查询:

SELECT DISTINCT * from TableName

您可以使用以下概述的 make table 方法从此查询输出中创建一个新表:

https://support.office.com/en-us/article/create-a-make-table-query-96424f9e-82fd-411e-aca4-e21ad0a94f1b

于 2020-01-30T04:07:37.657 回答
0

您可以将所有相关字段连接成 1 个字符串,然后按该字符串分组。这将为您提供具有唯一记录的查询。

于 2020-01-29T23:16:21.527 回答
0

这可能是在黑暗中刺伤,但我通常做的是使用查询向导,那里有一个用于查找重复数据的选项。然后您可以选择显示重复的字段以及您选择的任何其他字段。

如果我对将所有字段作为一条记录进行检查的理解正确,您能不能从中创建一个复合主键?这样,如果所有字段具有相同的值,Access 只会将其视为重复记录。

于 2020-01-29T23:16:34.027 回答