sql语句自动匹配两个表两个字段内容相似的记录

sql语句a表A1字段‘我爱你’,‘我爱你哦谔谔’,‘我爱你哦’b表B1字段内容‘我爱你哦’,‘我爱你‘select*froma,bwherea.A1like'%'+b.... sql语句 a表 A1字段 ‘我爱你’ ,‘我爱你哦谔谔’,‘我爱你哦’
b表B1 字段内容 ‘我爱你哦’,‘我爱你‘
select * from a,b where a.A1 like '%' +b.B1+'%' 或a.A1、b.B1 互换可以实现相互包含,但还想实现 自动 实现 A1中部分内容和B1相似的结果,如A1包含’我爱‘,则结果为全部结果,这个怎么做呢,想了好久,谢谢帮助了
展开
 我来答
xczs666
推荐于2018-05-17 · TA获得超过252个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:124万
展开全部
看样子像搜索引擎用到的。这种模糊匹配没有限制的话太难了,纯用sql我不知道怎么实现
不过有两个函数或许能帮上忙,substr和instr。不知道你是什么数据库不知道有不。
我觉得要实现这个要结合高频词一起使用。
首先将a.A1看做搜索引擎的输入词,然后匹配高频词,进行截断“我爱” “你” 然后进行模糊匹配之类的。
我也不知道你要表达的是不是我理解的,见笑了
迷人的反派丶
2012-02-24 · 超过31用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:91.1万
展开全部
如果是SQLServer的话可以试试这方法
1.LEFT截取左边第几个,RIGHT同理 -> where A1 LIKE '%'+LEFT(B1,2)+'%'
2.substring截取从第几个开始数的多少个->where A1 LIKE '%'+SUBSTRING(B1,1,2)+'%'
其他的数据库我就不懂了,不过oracle好像是substr函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greybird
2012-02-24 · TA获得超过470个赞
知道小有建树答主
回答量:609
采纳率:0%
帮助的人:385万
展开全部
是不是用最短的那个进行比较呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式