读书人

请教这个查询语句如何写? 最好用存储

发布时间: 2012-04-10 21:03:56 作者: rapoo

请问这个查询语句怎么写? 最好用存储过程 谢谢!
请问这个查询语句怎么写? 最好用存储过程 谢谢!

一,关键词表:(keyword)

kid keywords
1 中国
2 美国
3 法国
(注 keywords是由 content split得来)

二,页面表 (page)
pid url content userid
1 http://www.hao123.com/index.html 该页面的文本内容 1
2 http://www.sina.com 该页面的文本内容 2
3 http://www.hao123.com/about.html 该页面的文本内容 1
4 http://www.163.com 该页面的文本内容 3

三,关键词分析表(fenxi)
id kid pid userid score
1 1 1 1 10
2 1 3 1 20
3 2 3 1 18
4 3 4 3 16

搜索数据的时候先到关键词表找到对应的关键词 然后到关键词分析表根据kid找到匹配的页面ID(即pid) 按照score从高到低排序 最后把页面表(即page表)的数据全部显示出来!(显示的时候按照userid分组)

[解决办法]

SQL code
create proc getPage(  @keyword nvarchar(20),  @page    nvarchar(100) output)asbegin  select @page = p.pid + ',' + p.url + ',' + p.content + ',' + p.userid    from keyword k,         fenxi f,         page p   where k.kid = f.kid      and f.pid = p.pid     and k.keywords = @keyword order by f.scoreend 

读书人网 >.NET

热点推荐