关键字新闻查询?

xulisha123 2011-03-19 09:51:47
我有一种新闻表里面存了关键字

已有表数据
Id | keywords3
1 |“北京 楼盘 4W一平米”
2 |“北京 奥运 2008 ”
3 |“北京 2008 诡异油画”

比如我现在有:
北京 奥运 2008 吉祥物

查询结果需要 :
Id | keywords3
2 |“北京 奥运 2008 ”
3 |“北京 2008 诡异油画”
1 |“北京 楼盘 4W一平米”


要查找关键字符合的新闻, 关键字符合越多则排前面


...全文
55 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
又见全文索引,对这个机制不是很了解!。。。
回复
--小F-- 2011-03-19
我在猜测需要用到全文索引的模糊查询
回复
可能麻烦,输入的不知道有多少个!!!
回复
dawugui 2011-03-19
[Quote=引用 1 楼 acherat 的回复:]
SQL code

select *
from tb
order by (case when charindex(N'北京',keywords) then 4 else 0 end) +
(case when charindex(N'奥运',keywords) then 3 else 0 end) +
(case when charindex(N'……
[/Quote]

我估计他是这个意思:

select *
from tb
order by (case when charindex(N'北京',keywords) then 1 else 0 end) +
(case when charindex(N'奥运',keywords) then 1 else 0 end) +
(case when charindex(N'2008',keywords) then 1 else 0 end) +
(case when charindex(N'吉祥物',keywords) then 1 else 0 end)

回复
xulisha123 2011-03-19
[Quote=引用 2 楼 ssp2009 的回复:]
北京 奥运 2008 吉祥物 是输入的参数还是什么?
[/Quote]是输入参数
回复
xulisha123 2011-03-19
[Quote=引用 2 楼 ssp2009 的回复:]
北京 奥运 2008 吉祥物 是输入的参数还是什么?
[/Quote]

不是固定的,, 每一篇的都不一样, 我只是举个例子
回复
快溜 2011-03-19
北京 奥运 2008 吉祥物 是输入的参数还是什么?
回复

select *
from tb
order by (case when charindex(N'北京',keywords) then 4 else 0 end) +
(case when charindex(N'奥运',keywords) then 3 else 0 end) +
(case when charindex(N'2008',keywords) then 2 else 0 end) +
(case when charindex(N'吉祥物',keywords) then 1 else 0 end)

--没有规则不好弄!
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-03-19 09:51
社区公告
暂无公告