나는 이것에 대한 해답을 찾기 위해 하루 종일을 보냈고 3 가지 다른 검색 엔진 변형 후에는 불가능하다는 사실을 스스로 해결했습니다. 여기 내 문제가있다. 프린터 모델 번호 표를 검색해야합니다. 프린터 모델이 표준화되지 않았기 때문에 모델의 다른 부분이 다른 순서로있을 수 있습니다.SQL - 임의의 순서로 정확한 단어 일치 검색
HP 오피스젯 프로 8715
HP 오피스젯 8715 프로
모두 분명히 동일한 프린터를하지만 그들은 우리와 공급 업체 사이의 공유 DB의 두 가지 방법으로 표시됩니다. 예를 들어 HP OfficeJet Pro 8715을 검색하면 HP OfficeJet 8715 Pro도 반환되지만 HP OfficeJet Pro 8715dw을 반환하지 않아야합니다.
요약하면 단어의 순서는 다를 수 있지만 단어가 정확히 일치해야합니다.
나는 이미 검색 문자열을 #temp
테이블로 구문 분석하여 각 행에 단어가 있으며 이것이 결과를 찾기 위해 비교 한 방법입니다.
INSERT INTO #results
SELECT Make, Model
FROM tDevices
WHERE (Make LIKE '%' + @MAKE + '%') AND (Model LIKE '%' + @MODEL + '%') AND (Model LIKE '%' + @MODEL2 + '%')
여기서 각 모델 변수는 모델의 다른 단어입니다. 이것은 잘 작동하지만, 반환 HP 오피스젯 8715 프로뿐만 아니라 HP 오피스젯 프로 8715dw로
이 가능합니까? 그것은 8715dw 반환
감사
을 사용하는 DBMS? –
'Make '가 항상 시작 부분에 있다면'Model'에서 단어 순서의 모든 순열에 대해 명시 적으로 검사하면됩니까? – shash678
대답 할 수 있습니까? 결국 우리에게 가장 좋은 솔루션이되었습니다. –