MS Access SQL查询表并删除重复项

JJJones_3860

我在这里查看了几篇文章,找不到答案,但是可能问题和答案都比我的薪水等级高一点。

我有一个带有两个ID字段(ID1和ID2)以及许多其他列的MSAccess表。

我想查询(SELECT语句)表,并且需要发生两件事。不知道订单是否重要。我希望查询返回表中的所有列。

  • ID1没有重复项,而且我根本不在乎哪个记录被丢弃。
  • 没有重复的ID2,我想保留记录,其中表中的Date字段早于具有相同ID2值的记录的其他值。

只是无法弄清楚如何使用SQL Select语句执行此操作。

示例数据-假设DateFld从上到下都是ASC

ID1    ID2    DateFld    ...
1      24
1      24
2      23
3      98
4      23
4      23
5      98
6      72

保留第1、3、4、8行

没有索引,因为该表是通过make表查询创建的;但我可以添加它们。让我知道您是否需要更多。

福帕斯

对于此样本数据,您可以使用NOT EXISTS

SELECT t.*
FROM tablename AS t
WHERE NOT EXISTS (
  SELECT 1 FROM tablename
  WHERE ID2 = t.ID2 AND DateFld < t.DateFld
)

结果:

ID1 ID2 DateFld
1   24  ...
2   23  ...
3   98  ...
6   72  ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章