Don*_*mas 10 sql sql-server stored-procedures
我想比较用户输入中的单个单词与表格中某列的单个单词.
例如,考虑我的表中的这些行:
ID Name
1 Jack Nicholson
2 Henry Jack Blueberry
3 Pontiac Riddleson Jack
Run Code Online (Sandbox Code Playgroud)
考虑用户的输入是"庞蒂亚克杰克".我想为每个匹配分配权重/等级,所以我不能使用毯子LIKE(WHERE Name LIKE @SearchString).
如果庞蒂亚克出现在任何一排,我想给它10分.杰克的每场比赛得到另外10分等等.因此第3行得到20分,第1行和第2行得到10分.
我将用户输入分成单个单词,并将它们存储到临时表@SearchWords(Word)中.
但我无法找到一种方法来获得一个允许我组合它的SELECT语句.也许我会以错误的方式解决这个问题?
干杯,WT
对于 SQL Server,请尝试以下操作:
SELECT Word, COUNT(Word) * 10 AS WordCount
FROM SourceTable
INNER JOIN SearchWords ON CHARINDEX(SearchWords.Word, SourceTable.Name) > 0
GROUP BY Word
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3330 次 |
| 最近记录: |