전체 검색 텍스트를 사용하여 검색 기능을 구현하고 있습니다. 기본적으로 검색 문자열을 사용하여 모든 열을 검색해야합니다. 검색 문자열에는 다른 열의 값 조합이 있습니다. 그러나 모든 열을 검색해야하는지 알 수 없습니다. 예를 들어, 성, 주소를 기반으로 고객을 찾기 위해 전체 텍스트 SQL 검색에서 다음 쿼리를 사용하고SQL 전체 텍스트 검색 결과 변경
DECLARE @SearchString VARCHAR(200)
SET @SearchString = 'Adam OR West OR 60608'
SELECT Id, First_Name, Last_Name, Address,City,State,Zip, Rank
FROM Patient_Ex PAT
INNER JOIN CONTAINSTABLE(Patient_Ex,*, @SearchString) CT
ON PAT.Id = CT.[Key]
우편 번호 그리고 아래의 결과를 얻고있다.
Id FirstName LastName Address City State Zip RankID
25 Adam Avenue Adam North Albay Avenue Chicago IL 60619 272
26 Adam Avenue West South Escaaba Avenue Chicago IL 60620 272
27 Adam Avenue Adam eclaire Avenue Chicago IL 60634 272
28 Adam Avenue West Leamington Avenue Chicago IL 60657 272
29 Adam Avenue Adam North England Avenue Chicago IL 60660 272
30 Adam Avenue West West 59th Street Chicago IL 60608 272
31 Adam Avenue Adam West 21st Place Chicago IL 60608 272
32 Adam Avenue West South Albay Avenue Chicago IL 60655 272
그러나 결과는 다음과 같습니다. 같은 행에 일치하는 세 검색 기준이 모두있는 경우 맨 위에 표시하고 싶습니다. 이 시나리오에서는 Last name으로 Adam, Address가 West 및 Zip 60608 인 레코드를 최상위 레코드로 표시해야합니다.
Id FirstName LastName Address City State Zip RankID
30 Adam Avenue Adam West 59th Street Chicago IL 60608 272
31 Adam Avenue West West 21st Place Chicago IL 60608 272
27 Adam Avenue Adam eclaire Avenue Chicago IL 60634 272
28 Adam Avenue West Leamington Avenue Chicago IL 60657 272
29 Adam Avenue Adam North England Avenue Chicago IL 60660 272
25 Adam Avenue West North Albany Avenue Chicago IL 60619 272
26 Adam Avenue Adam South Escanaba Avenue Chicago IL 60620 272
32 Adam Avenue West South California Avenue Chicago IL 60655 272
위와 비슷한 결과를 얻으려면 어떻게 쿼리를 수정해야합니까?
감사합니다, Santha