2017-01-09 15 views
-1

検索結果を最善の一致順に表示するためのクエリを作成する最善の方法を知る必要があります。一致する結果が減少するリストを選択

例:検索パラメータは、姓、名、SSN、DOB、住所です。 ここで、最初の行はすべてのパラメータが一致した行です。 次の行は、より少ない数のパラメータが一致したものになります など。

お勧めします!

おかげで Anant

+0

これは直接行うことはできません。この要件に適切なテーブル構造を定義する必要があります。要件に関する詳細情報を入力してください。 –

+0

以下のソリューションは私の場合は正常に機能しました。 – Anant

答えて

0

シンプルcase文のように思える+さらには最高でしょう。容易に拡張/維持できます。あまりオーバーヘッドではなく、完全一致を使用します。

SELECT lastName, FirstName, SSN, DOB, Address, 
    CASE when lastName = @lastName then 1 else 0 end + 
    CASE when FirstName = @FirstName then 1 else 0 end + 
    CASE when DOB = @DOB then 1 else 0 end + 
    CASE when Address1 = @Address1 then 1 else 0 end + 
    CASE when SSN = @SSN_No then 1 else 0 end as Matched 
FROM Table 
ORDER BY matched Desc 
+0

ありがとう!出来た。 – Anant

関連する問題