首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

存储过程,呀,怎么多项查找.人来!

2012-01-29 
求一个存储过程,急呀,如何多项查找.......................................人来!!比如有张表tablep_idp_n

求一个存储过程,急呀,如何多项查找.......................................人来!!
比如有张表table
p_id     p_name  
1             发烧,高热            
2             发烧,高热,无聊        
3             很无聊    

我查询       "发烧,高热 "的时候   点击     在datagrid中显示2条纪录.......    



[解决办法]
有没有词库?分词了
[解决办法]
那要拆分了,你要实现的强大的话,那就成分词了..
[解决办法]
你不能保证发烧高热这两个词肯定是连在一起的吧,假如有一条是发烧,无聊,高热,那你输入发烧高热是否要挑选出来呢?
[解决办法]
CREATE PROCEDURE SEL_return
@VALUE NVARCHAR(4000),
AS
SELECT * FROM Table where CHARINDEX(p_name,@VALUE )> 0 OR CHARINDEX(@VALUE,p_name )> 0

执行时 execute SEL_return N '发烧高热 '
[解决办法]
这个从你要实现的功能上来看,只是存储过程是实现不了了.要有词库,那就话多了,呵呵..
[解决办法]
那说明你考虑的还不够全,他是以词来分,还是以字来分,这个不是一两句话能说的清,例如 '发明,烧酒,高大,热血 ',也有发烧高热这四个字,那你是否要挑选出来呢?
[解决办法]
就是汉字的词库,就象汉语词典,里面包含一些常用的词.
[解决办法]
分词一般都是做搜索引擎用的,你可以看一下百度,google.这可不是简单的事情,有一定的难度,你考虑好了哦...
[解决办法]
要求前台输入做一定的格式限制,来区分关键字。

如“一 二”,以空格来区分有两个关键字,在用关键字进行“与”\“或”匹配,看你的要求。
[解决办法]
用","把条件分开,查询出来,可以使用存储过程,也可以使用动态sql
[解决办法]
这样,假如不分词的话,效率会极差.根本不使用..

热点排行