【发布时间】:2021-01-08 00:29:55
【问题描述】:
我在这里查看了几篇帖子,找不到答案,但可能是问题和答案略高于我的工资等级。
我有一个包含两个 ID 字段(ID1 和 ID2)以及许多其他列的 MSAccess 表。
我想查询(SELECT 语句)表,需要做两件事。不确定订单是否重要。我希望查询返回表中的所有列。
- ID1 没有重复项,我根本不在乎哪些记录会被丢弃。
- ID2 没有重复项,我想保留表中日期字段早于具有相同 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 行
没有索引,因为该表是通过生成表查询创建的;但我可以添加它们。如果您需要更多,请告诉我。
【问题讨论】:
-
样本数据和期望的结果会有所帮助。也就是说,我怀疑您无法轻松地在 MS Access 中做您想做的事情,除非您的数据有其他您未描述的约束。
-
是的,需要例子。如果数据类似于:
1 1、2 1- 必须消除其中之一,因为 ID2 重复?你所说的“重复”到底是什么意思——所有字段都是相同的值? ID1 和 ID2 是唯一的复合索引吗?是否有唯一标识符,例如自动编号? -
在您的每个 ID1 的示例数据中,只有 1 个 ID2,尽管超过 1 行。这是巧合还是这条规则适用于您的餐桌?每个 ID2 也可能有重复的 DateFlds 吗?
-
ID2(和 DateFld)对于 ID1 的所有唯一值都是相同的;如上 ID2 所示。