私は次のように構築SQLの検索機能があります、SQLの検索機能
SELECT
*
FROM
Table
WHERE
Question LIKE @SearchString
OR Answer LIKE @SearchString
OR Keywords LIKE @SearchString
をそして、私が上に@SearchString LIKE結果どこキーワードを意味し、関連性によってそれらを注文したいです続いてAnswer LIKE @SearchStringを実行し、次に質問LIKE @SearchStringを実行します。しかし、私はいくつかのグーグルの努力にもかかわらずどのように把握していないようです。
は、私がどこかORDER BY
CASE
WHEN CHARINDEX(FAQ_FAQ.Keywords, @SearchString, 1) > 0 THEN 0
ELSE 1
END ASC,
が働くかもしれないことがわかったが、どうやらそれはしていません。あなたも限り、このようにそれを取ることができる
SELECT
*
FROM
Table
WHERE
Question LIKE @SearchString
union all
SELECT
*
FROM
Table
WHERE
Answer LIKE @SearchString
union all
SELECT
*
FROM
Table
WHERE
Keywords LIKE @SearchString
:あなたは常にUNION ALL
ルートを使用することができ、事前
ベストプラクティスプランのための+1:p – Jordan
これはトリックでした!どうも!前と同じようなことをしようとしましたが、何らかの理由で「好き」がエラーを出しました –