【发布时间】:2012-04-12 08:23:35
【问题描述】:
This question 几乎完成了我想要完成的工作,但是我的表更复杂并且没有主键。我也不太明白最佳答案, t1 和 t2 是什么意思。如果这个答案适用于我,如果有人解释代码将不胜感激。
我有几个月的表格,其中包含有关客户及其持有的政策的信息。每个客户端都有一个唯一的策略 ID,但他们可以有多个策略,从而导致同一策略 ID 下的多个记录。重复记录可以在每个字段中完全不同或完全相同。
出于我的目的,我只想为每个策略 ID 保留一条记录。理想情况下,保存的记录是年龄最高的记录,但如果太复杂则不需要。请注意,可能有多个记录的年龄是该特定策略 ID 的最大值,那么我们保留哪一个并不重要。
我不打算创建主键,因为在某些情况下,我会将两条记录保存在同一个策略 ID 下,我将自己修改代码。我也不想创建另一个表,因为我正在使用 10 多个表。有人建议使用first(),但我不确定如何将其合并到查询中。
如果您需要任何其他信息,请告诉我,并提前感谢您的帮助!
=========更新#1
好的,看来我的问题有点不切实际,所以我将添加一个自动编号主键。我将如何处理?
【问题讨论】:
-
你真的应该考虑添加一个主键,因为它可以更容易地识别单个记录,并且可以帮助你删除重复。请注意,拥有主键并不意味着您仍然不能拥有副本。
-
我认为您将不得不在某些事情上让步。您要么需要创建一个新表,要么必须添加一个唯一键。
标签: duplicate-removal sql-delete ms-access-2003