0

我有一个包含 11 列的访问表。

  • 期间年
  • 周期周期
  • 期间区
  • PHSR代码
  • 中华人民共和国
  • 专业
  • HCP类型
  • 班级
  • 机构

我想使用LastnameFirstnameInstitution作为查找重复项的基础为其查找重复条目。

示例表:

    PeriodYear  PeriodCycle  PeriodZone  PHSRCode  Lastname  Firstname  PRC  Specialty  HCPType  Class  Institution

    2013        1            1           SF1-01    Almeda    Sancho     111  GP         CON      A      PGH
    2013        1            2           SF1-01    Almeda    Sancho     111  GP         CON      A      LPDH
    2013        1            3           SF1-01    Almeda    Sancho     222  GP         CON      A      PGH

结果应该是:

    PeriodYear  PeriodCycle  PeriodZone  PHSRCode  Lastname  Firstname  PRC  Specialty  HCPType  Class  Institution

    2013        1            1           SF1-01    Almeda    Sancho     111  GP         CON      A      PGH
    2013        1            3           SF1-01    Almeda    Sancho     222  GP         CON      A      PGH

查询将基于来自变量的字段PeriodYearPeriodCyclePHSRCode 。

这可能吗?

4

1 回答 1

2

首先创建一个“指针”查询来确定所有具有欺骗性的记录:

SELECT LastName, FirstName, Institution, Sum(1) as CNT
FROM MyTableName
GROUP BY LastName, FirstName, Institution
HAVING (Sum(1) > 1)

调用那个 Query1 什么的。

然后 LEFT JOIN Query1 到 MyTableName 在这些字段上,并使用 WHERE 子句仅根据变量保留所需的数据:

SELECT B.*
FROM Query1 A
LEFT JOIN MyTableName B
ON A.LastName = B.LastName 
AND A.FirstName = B.FirstName
AND A.Institution = B.Institution
WHERE B.PeriodYear = Forms!frmMyForm!txtPeriodYear
AND B.PeriodCycle = Forms!frmMyForm!txtPeriodCycle
AND B.PHSRCode = Forms!frmMyForm!txtPHSRCode

您显然必须进行一些调整,但这应该会给您正确的想法。

于 2013-07-17T15:11:14.873 回答