<分区>
我想做一个在表中搜索的查询,但不像你想象的那么简单。
我有一个混合数组(例如,搜索键是'second world war',我由此创建了'second','second world','second world war','war second'等混合数组。 ) 我想从中获得最佳匹配。我的想法是通过一个循环遍历数组并比较两个单词的字符,然后将百分比结果放入一列,而不是按计算出的百分比对结果进行排序。
我找到了一个计算百分比的函数,但如何创建遍历数组并调用该函数的查询?
抱歉,我的 sql 还不够好:/
SELECT
P.FullName,
K.Shortname,
(P.VoteSumm / P.VoteCount) AS Rate,
[dbo].GetPercentageOfTwoStringMatching](P.FullName, CurrentName)
FROM [Test].[dbo].Table1 AS P
LEFT OUTER JOIN [Test].[dbo].Table2 AS UC ON UC.ID = P.UcID
LEFT OUTER JOIN [Test].[dbo].Table3 AS K ON K.ID = P.KarID
LEFT OUTER JOIN [Test].[dbo].Table4 AS PV ON PV.OwnerID= P.ID
WHERE
(P.Deleted IS NULL)
AND
(P.FullName LIKE '%kiss%'
OR P.FullName LIKE '%kisstamás%'
OR P.FullName LIKE '%tamás%')
OR
(P.Email IN ('kiss','kiss tamás','tamás')
OR UC.ShortName IN ('kiss','kiss tamás','tamás')
OR UC.Name IN ('kiss','kiss tamás','tamás')
OR K.ShortName IN ('kiss','kiss tamás','tamás')
OR K.Name IN ('kiss','kiss tamás','tamás'))
这是我的代码,但“当前名称”只是示例。我不知道该怎么做:/