当前位置: 代码迷 >> .NET面试 >> 请教这个查询语句如何写? 最好用存储过程 多谢
  详细解决方案

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

热度:211   发布时间:2016-05-04 23:02:09.0
请问这个查询语句怎么写? 最好用存储过程 谢谢!
请问这个查询语句怎么写? 最好用存储过程 谢谢!

一,关键词表:(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
  相关解决方案