【发布时间】:2017-01-25 19:21:19
【问题描述】:
问题:
如何使用 SQL Server 在 .NET 中构建这样的搜索?注意“分数”和“最大值”列。 (这些不是我的术语。“Max”似乎代表查询的最大值,“Score”代表搜索获得的值,小于或等于“Max”。)
详情:
- 用户可以输入以下字段中的一个或多个:name_first (varchar(254))、name_middle (varchar(254))、name_last (varchar(254))、date_of_birth (date)、social_security_number (varchar(50)) , 性别 (char(1)), ABO_blood_type (varchar(2)), Rh_blood_type (varchar(3))。
- 匹配可能是部分匹配,例如名称。它也可能只允许精确匹配,例如男性/女性。
- 不同的字段可能比其他字段更重要。例如,社会保险号的完全匹配比性别匹配更具体。
想法
- Soundex 函数可能有助于名称匹配
- SSN 匹配应覆盖所有其他字段,因为它是最具体的。在示例中,它会增加与除 SSN 之外的所有字段的匹配项相关的 Max/Score 值。
- 有趣的是,不匹配的 SSN 似乎包含“无信息”,而实际上它与搜索条件不匹配。
- 如果没有其他选择,我是否应该制定某种评分方案?
否则,我不知道从哪里开始。谢谢!
【问题讨论】:
-
您是否设计了一个表格来保存正在搜索的数据?
-
试试
like这里是定义:link -
不幸的是,你的问题对于 StackOverflow 来说有点太宽泛了。我建议你尝试一些事情,任何事情,并继续尝试,直到遇到你无法克服的实际障碍。然后发布你的代码和你得到的错误。通过这种方式,您更有可能从该网站获得帮助。
-
请解释一下“Score”和“Max”的关系。
标签: c# sql-server