나는 다음과 같은까지 구축 된 SQL 검색 기능이의 외관에 의해 주문하기 : 결과를 의미SQL 검색 기능은 열
SELECT
*
FROM
Table
WHERE
Question LIKE @SearchString
OR Answer LIKE @SearchString
OR Keywords LIKE @SearchString
을 내가 관련성을 주문하려는 키워드 LIKE @SearchString 위에, Answer LIKE @SearchString을 입력 한 다음 질문 @ LIKE @SearchString을 입력하십시오. 그러나 나는 몇 가지 인터넷 검색 노력에도 불구하고 어떻게 파악할 수 없습니다.
는 어디 선가ORDER BY
CASE
WHEN CHARINDEX(FAQ_FAQ.Keywords, @SearchString, 1) > 0 THEN 0
ELSE 1
END ASC,
가 작동 할 수 있음을 발견,하지만 분명히 그렇지 않습니다.
select *
from
(
SELECT
*, 1 as OrderRank
FROM
Table
WHERE
Question LIKE @SearchString
union all
SELECT
*, 2 as OrderRank
FROM
Table
WHERE
Answer LIKE @SearchString
union all
SELECT
*, 3 as OrderRank
FROM
Table
WHERE
Keywords LIKE @SearchString
)a
order by OrderRank
최고의 실행 계획을 위해 +1 : – Jordan
이 트릭을! 고마워! 비슷한 것을 시도했지만, "LIKE"는 나에게 웬일인지 에러를 주었다. –