1

A SELECT QUERYfor Person Matches 生成一个表,其中每 2 行包含与其上方的行相同的信息。一个Sort By Surname,GivenName,BirthD 例如之后

IDIR1, Surname, GivenName, BirthD IDIR2. 
IDIR2, Surname, GivenName, BirthD IDIR1. 

(两人的标准相同,但不同IDIR

有哪些选项可以消除第 2 行的出现。删除是可以接受的,但NOT IN, <>,等不起作用,因为: 全部IDIRs (1 & 2)都在2 IDIR列中。只读取一行以检查两者是否都是个人而不是同一个人。

4

1 回答 1

0

沿着这些思路的东西应该给你一个结果集,其中每一秒的记录都被遗漏了。

SELECT a.*
  FROM thetable AS a
  JOIN thetable AS b
    ON a.Surname = b.Surname
   AND a.GivenName = b.GivenName
   ...
 WHERE a.IDIR < b.IDIR

请注意,它未经测试 - 您可能需要稍微清理一下,但诀窍是a.IDIR < b.IDIR用来清除重复项。

于 2013-03-30T21:59:20.813 回答