2014-10-29 4 views
0

2 일 동안 머리를 두들겨 봤는데 나는이 겉보기에 간단한 작업을하는 데 도움이 필요하다는 것을 인정합니다.중복 계정 검색

가능한 중복 계정 목록을 단일 테이블로 생성하는 방법을 찾으려고합니다. 필드는 AccountNumber, FirstName, LastName, DOB, SSN, Address, City, State, Zip과 유사합니다.

은 내가 DB를 조회 가능성이 같은 사람 다른 AccountNumbers 비슷하지만 names/DOB/etc이 계정을 찾을 수있는 방법을 찾을 필요가있다.

도움을 주시면 감사하겠습니다. 감사합니다.

+0

"유사한 이름/DOB/등"에 대한 기준을 자세히 설명해 주시겠습니까? –

답변

2
select distinct t1.AccountNumber 
from table t1 
join table t2 on t2.Name = t1.Name and t2.DoB = t1.DoB 
    and t2.AccountNumber <> t1.AccountNumber 
+0

나는 sql에서 매우 낮은 수준의 초심자이지만, 두 테이블을 비교한다는 것을 의미하지는 않습니까? 살펴볼 테이블이 하나뿐이므로이 솔루션의 t1 및 t2 참조를 이해할 수 없습니다. 테이블이 두 개인 경우 어떻게 작동하는지 이해할 수 있습니다. – MegaMind

+0

't1'과't2'는 별칭이있는 동일한 테이블 일 수 있습니다. 'FROM TABLE [table_name] t1 JOIN TABLE [table_name] t2'와 같이 보일 것입니다. –

0

재귀 선택을 사용하여보십시오. 그것에 대한 기사가 있습니다. http://technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx

기본적으로 데이터베이스를 직접 다시 쿼리하지 않고도 작업을 수행 할 수있는 임시 테이블을 만듭니다. 따라서 여러 하위 선택을보다 효율적으로 수행 할 수 있습니다.

당신의 질의는 다음과 같이 보일 것입니다. 테이블 TBL 에서 C와 같은 계정 (테이블에서 A, B, C를 선택)

가 선택, B,와

(계정에서 하나를 선택 존재 어디 act.a '%'와 같은 + TBL 행동 .A + '%') ... 열이 또 다른 검사 같은 경우 확인하는 방법에 대한 자세한 내용은

기타이 밖으로 Compare Columns Where One is Similar to Part of Another

0

나는 정확히 내가 필요로했던 우리의 소프트웨어 공급 업체에서 쿼리를 얻었다 할 것이다. 그들의 해결책은 위의 두 가지 제안을 결합한 것입니다. 둘 이상의 성과 이름이 일치하는 계정을 넣을 임시 테이블을 만든 다음 일치하는 주소, 주, 도시를 확인하여 중복 가능성을 평가합니다. 또한 각 계정이 마지막으로 사용 된 시간을 기록합니다.

구문을 완전히 이해하지 못했습니다.하지만 그 작업이 완료됩니다.

도움 주셔서 감사합니다.