哦,是的,MS Access ...
我有一个包含重复项的表,基本上如果有重复项,我需要删除BOTH记录。这可能吗?
为了使事情变得复杂,我称之为“重复”的内容在所有字段中都不是真正的重复,但它们是跨关键字段的。
这是表格(格式不是非常漂亮):
ID documentDate accountNetAmount reference accountTaxAmount getBankAccount getCompany isReconciled oid
11 6/30/2013 20687.7 REFTe 0 02537.0000000014 02544.0000000023 1 02364.0000000078
12 6/30/2013 -20687.7 EFTe 0 02537.0000000014 02544.0000000023 0 02364.0000000079
13 6/30/2013 14935.41 REFTf 0 02537.0000000014 02544.0000000023 1 02364.0000000080
14 6/30/2013 -14935.41 EFTf 0 02537.0000000014 02544.0000000023 0 02364.0000000081
15 7/4/2013 -294.55 MIMOSA -29.45 02537.0000000014 02544.0000000023 0 02364.0000000177
16 7/8/2013 -1185.81 BPAY080713 -118.58 02537.0000000014 02544.0000000023 0 02364.0000000499
17 7/9/2013 -462.05 PERFUME -46.2 02537.0000000014 02544.0000000023 0 02364.0000000179
18 7/9/2013 -1264.09 PERFUMERY -126.41 02537.0000000014 02544.0000000023 0 02364.0000000181
我需要删除documentDate和abs(accountNetAmount)相同的记录。所以我的结果集应如下所示:
ID documentDate accountNetAmount reference accountTaxAmount getBankAccount getCompany isReconciled oid
15 7/4/2013 -294.55 MIMOSA -29.45 02537.0000000014 02544.0000000023 0 02364.0000000177
16 7/8/2013 -1185.81 BPAY080713 -118.58 02537.0000000014 02544.0000000023 0 02364.0000000499
17 7/9/2013 -462.05 PERFUME -46.2 02537.0000000014 02544.0000000023 0 02364.0000000179
18 7/9/2013 -1264.09 PERFUMERY -126.41 02537.0000000014 02544.0000000023 0 02364.0000000181
有什么建议吗?别忘了,MS Access ......呃。
谢谢!
答案 0 :(得分:1)
在我的脑海中,我会尝试根据您认为重要的字段进行分组。
之类的东西SELECT documentDate, abs(accountNetAmount) , count(*)
FROM yourtable
GROUP BY DocumentDate, abs(accountNetAmount)
HAVING count(*) = 1
上面的查询可能会变成一个视图,然后您可以与您的表连接以获取删除了重复项的列表。