需要知道编写查询的最佳方式,以减少最佳匹配顺序显示搜索结果。
例如:搜索参数是姓氏,名字,SSN,DOB,地址 现在,第一行将是所有参数匹配的行。 下一行将是较少数量的参数匹配的行 等等。
请建议!
由于 了Anant
答案 0 :(得分:0)
似乎是一个简单的案例陈述+添加将是最好的。易于扩展/维护。没有多少开销,使用完全匹配。
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