【发布时间】:2015-07-24 08:28:18
【问题描述】:
我想在 SQL Server 中编写一个查询,在某些列中搜索一些单词并根据匹配单词的数量对结果进行排序。例如在blow中,结果的顺序必须是:Row2,Row3,Row1。
搜索字符串:w1 w2 w3
Row1:column1=w1 w4 column2=w5 w6 ==> 匹配词:w1
第 2 行:column1=w1 w2 column2=w3 w4 ==> 匹配词:w1w2w3
第 3 行:column1=w1 w2 column2=w5 w6 ==> 匹配词:w1w2
第 4 行:column1=w5 w6 column2=w7 w8 w9
我的代码:select * from Table1 where contains((col1,col2),@search))
【问题讨论】:
-
where ... 按 col1 排序
-
谢谢,但是在这个例子中 col1 有最多的搜索字符串,当用一列排序时,该列的优先级变高,我不想要这个。
-
不太明白你在这里问什么,你能尝试添加更多细节或更清晰的例子吗?
-
好的!我正在编辑问题。
-
您想要匹配单词的总数,还是字符串本身?
标签: sql-server tsql