美文网首页
Access 查找表中重复字段

Access 查找表中重复字段

作者: snowpigppp | 来源:发表于2018-08-24 16:27 被阅读0次

    在Access一张表中,姓名是有所重复的,但是由于重名人太多,无法确定所有重复姓名的人都是同一个人,因此我们增加了一个字段进行匹配:

    即,对于表MRI记录,包含字段姓名,年龄,性别,地址,身份证号等,认为姓名一致,且年龄一致或地址一致或身份证号一致(选择多个字段是由于有些患者的部分字段无信息),则为同一个人。

    具体的作法是首先用access自带查询向导中的SQL语句,选择表MRI记录中,姓名与年龄一致的所有记录,姓名与地址一致的所有记录及姓名与身份证号一致的所有记录,而后使用UNION进行合并操作(UNION操作会去除重复记录)。

    Access SQL代码为:

    SELECT *

    FROM MRI记录

    WHERE ((MRI记录.姓名) In

    (SELECT [姓名] FROM [MRI记录] As Tmp GROUP BY 姓名,年龄 having count(*)>1 And [年龄] = [MRI记录].[年龄]));

    union SELECT *

    FROM MRI记录

    WHERE ((MRI记录.姓名) In

    (SELECT [姓名] FROM [MRI记录] As Tmp GROUP BY 姓名,身份证号 having count(*)>1 And [身份证号] = [MRI记录].[身份证号]));

    union SELECT *

    FROM MRI记录

    WHERE ((MRI记录.姓名) In

    (SELECT [姓名] FROM [MRI记录] As Tmp GROUP BY 姓名,地址 having count(*)>1 And [地址] = [MRI记录].[地址]));

    缺点是该方法执行速度较慢(推测原因是使用了UNION操作去除重复),20,000多条数据大概需要五分钟以上查询完毕。

    相关文章

      网友评论

          本文标题:Access 查找表中重复字段

          本文链接:https://www.haomeiwen.com/subject/fgzbiftx.html