Sql 从加入MS Access中删除重复记录
我的同事向我寻求有关MS Access中联接三个表的查询的帮助。我已经确认加入的顺序和内部/外部状态是我的同事想要的。他们有三张桌子,A、B和C;他们需要表B中的所有记录加上A和C中匹配的记录 经过清理的查询是:Sql 从加入MS Access中删除重复记录,sql,ms-access,join,deduplication,Sql,Ms Access,Join,Deduplication,我的同事向我寻求有关MS Access中联接三个表的查询的帮助。我已经确认加入的顺序和内部/外部状态是我的同事想要的。他们有三张桌子,A、B和C;他们需要表B中的所有记录加上A和C中匹配的记录 经过清理的查询是: SELECT B.ID, B.Date from (A RIGHT JOIN B on A.ID = B.ID) LEFT JOIN C on B.ID = C.ID GROUP BY B.ID, B.Date 这将返回大约16000行的正确行数。但是,当我将select和group
SELECT B.ID, B.Date from (A RIGHT JOIN B on A.ID = B.ID) LEFT JOIN C on B.ID = C.ID
GROUP BY B.ID, B.Date
这将返回大约16000行的正确行数。但是,当我将select和group子句更改为
SELECT B.ID, B.Date, A.Time ...
GROUP BY B.ID, B.Date, A.Time
然后查询返回重复记录,记录计数约为19000。如何改进查询以消除重复项
帮助我找出表B的GROUP BY子句。我尝试将该子句作为GROUP BY B.ID,但收到一条错误消息,表示我没有使用B.Date进行任何聚合。它实际上是在生成重复记录,还是现在从同一日期返回多条具有不同时间的记录?如果是这样,您将需要评估这些记录是否真的是重复的,以用于您的报告目的。如果是,您将希望在select子句中使用类似mina.time或maxa.time的内容来聚合时间,以仅获取最早或最新的实例,并将其从组中排除。告诉我们什么是重复?因为第二次查询有更多记录是正常的。您现在将[ìd,date]拆分为不同的[time],我们可以告诉您,结果中有相同数据的记录。我将再次检查以确认记录是否相同。我将评估记录是否包含重复数据。不,记录不是100%重复的-表A中的一个字段具有与表B中单个条目对应的多个条目的不同数据。