는 모든 SQL Server 2000의 전문가에 대한 질문 : 나는 이미 찾을 수 있습니다 ... 난 단지 1 개 테이블이SQL : 필드에 중복 값을 찾기 만 사용하여 SUBSTRING() 여기
임의의 값의 경우 특정 필드는 다른 레코드에도 나타납니다.
즉이 : 어떤 기록이 같은 필드에 다시 필드에 "ABCDEFGHI"다음 "ABCDEFGHI"을 가지고 있는가 ...하지만 또 다른 기록한다.
그러나 부분 문자열을 사용하려고하면 문제가 발생합니다.
즉이 : 모든 기록은 에서 필드를 "CDEF"이 다음 "DEFG"을 다시 같은 분야에 ... 그러나 다른 레코드 않습니다. (편집 : 물론 일치하지 않을 것입니다.)
다른 필드의 PART와 1 필드를 비교하려고합니다. 문자 만 3-6 자, 문자 4-7 만 비교하십시오. (두 입력란 모두 내 시작일 범위를 지정해야합니다.) 특정 문자는 무엇이 중요하지 않습니다. 그냥 그들이 '일치'.
이 작동하지 않습니다
SELECT t1.ID + ' + ' + t2.ID
FROM InfoTable As t1
INNER JOIN InfoTable AS t2 ON t1.ID = SUBSTRING(t2.ID, 3, 4)
(편집 : 나는 또한 단지 자신을 일치하는 모든 레코드를 나열하지해야합니다.)
그것은 지금까지의 네가 여기에서 찾으려고하는 것을 깨끗하게해라. 어디서나 "DEFG"가있는 다른 모든 레코드와 연결된 "CDEF"가있는 모든 레코드를 원하십니까? "CDEF"가 위치 3에서 시작하여 "DEFG"가 4 위치에서 시작하는 다른 모든 레코드에 연결된 모든 레코드입니까? 동일한 공통 문자열의 문자 4 - 7을 갖는 다른 모든 레코드에 링크 된 일반 문자열의 문자 3 - 6을 가진 모든 레코드입니까? 다른 것? –
어디서나? 아니요, 제가 지정한 시작/끝 부분 문자열입니다. 위치 a에서 시작하고 b 문자 길이가 ... 위치 c에서 시작하여 길이가 d자인 일치하는 레코드. (물론 b와 d는 일치가 일어나기 위해 동일해야합니다.) – HelenJ