나쁜 게시 제목 죄송하지만이 요약 할 수 없습니다.전체 열 텍스트 검색
예를 사용하는 것이 좋습니다. 두 개의 텍스트 열이있는이 간단한 테이블이 있다고 가정 해 봅시다. 다른 열은 그대로 두겠습니다.
Id Text_1 Text_2
1 a a b
2 c a b
이제 "a"가 아닌 "b"를 검색하려면 현재 구현에서 레코드 1을 다시 얻고 있습니다. 이유는 이해합니다. 검색 조건이 "Text_1"열과 일치하기 때문입니다. 반면 레코드 2의 경우 모든 열에 일치하지 않습니다.
그러나 최종 사용자의 경우 대부분의 경우뿐만 아니라 레코드 1을 제외한다는 의미이므로 직관적이지 않을 수 있습니다.
내 질문은 SQL Server에 "모든 열에 걸쳐"("NOT"부분이 ANY 열에 있으면 레코드가 일치하지 않아야 함을 의미하는) 일치를 수행하도록 지정하려는 경우입니다. 가능한?
편집 : 이것은 나의 질의는 예를 들어 같이 할 것입니다 :
SELECT Id, TextHits.RANK Rank, Text_1, Text_2 FROM simple_table
JOIN CONTAINSTABLE(simple_table, (Text_1, Text_2), '"a" and not "b"') TextHits
ON TextHits.[KEY] = simple_table.Id
ORDER BY Rank DESC
실제 쿼리 (더 많은 열, 더 조인 등) 조금 더 복잡하지만, 이것은 일반적인 생각입니다 :)
감사합니다.
@xurumunga. . . 당신이 옳은 일을한다고 생각하지 않는 현재 사용하고있는 코드의 예를 들어 줄 수 있습니까? 또한 데이터베이스를 태그로 포함시키는 것은 중요합니다. 왜냐하면 서로 다른 데이터베이스는 텍스트 검색의 장점이 서로 다르기 때문입니다. –
@Gordon에게 제안 해 주셔서 감사합니다. 쿼리와 태그를 추가했습니다. – xurumanga
거기에 백만 가지의 서로 다른 예제가 있고 이것은 복제본의 중복입니다 : http://stackoverflow.com/questions/1796506/search-all-tables-all-columns-for-a-specific-value-sql- 서버 – RandomUs1r