mysql数据库查询 查询一张表某列中是都包含另一张表某列的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库查询 查询一张表某列中是都包含另一张表某列的数据相关的知识,希望对你有一定的参考价值。
微博信息表的 数据结构,
负面词汇表的表结构 。
要求是 查询出 微博信息表中 content列中包含 负面词汇表中 sentence 负面词汇列的所有数据
也就是说在页面的下拉框 选择 对应的信息 或者是显示负面信息或者是 全部信息 如果sql 无法实现 有没有别的思路可以实现 ,我试过用程序来做比较 速度有点慢
要实现此类功能,建议从业务 逻辑入手,就是在content存入数据库时,检查气宗是否包含负面词,并进行标记,之后存入另外一张表中记录这些包含负面词的记录
所以,建议你在保存微博数据的内容时进行检查,然后在微博信息表中增加一个字段,标识是否包含负面信息,这样你在查询的时候就是对标记位的判断了。
相当与把你处理的时间分散到保存记录中,然后通过标记位做索引。追问
哎木有办法啊 不能实现也得想办法啊 ,功能就这样的
追答所以,建议你在保存微博数据的内容时进行检查,然后在微博信息表中增加一个字段,标识是否包含负面信息,这样你在查询的时候就是对标记位的判断了。
相当与把你处理的时间分散到保存记录中,然后通过标记位做索引。
就是扩展一个字段,加个业务逻辑处理应该没有问题吧,负面词可以考虑缓存在服务器的内存中,用个高效的内存检索结构。
及时是这样也需要对现在库中的信息 进行查询做标识 不能叫我 挨个信息 和词汇表中的所有负面词汇进行比较吧 这个有点费劲了所有还的找个能查询的方法出来的
参考技术A select t1.id,t1.content,t2.sentencefrom 微博信息表 t1 join 负面词汇表 on instr(t1.content,t2.sentence)>0
不知道这2个表的具体关系,如微博信息表中的id与负面词汇表中的id是都是微博信息的id?
追问没有关联关系~~ 这是最大的问题 id是用 uuid做的标识 这让人蛋疼的数据
追答那上面的sql应该能用,只不过效率可能比较差,如果微博数据量比较大的话,可能比较难以忍受,建议建1个微博与负面词汇关系表,实时更新这个表,化整为0,这样可能取得更新时间与查询时间的平衡
本回答被提问者采纳 参考技术B select * from A , B where A.id = B.id and B.sentence = A.content(+)哦...不知道是不是这意思 参考技术C 试试locate函数
mysql把查询到不一样的记录插入到另一张表中
以上是关于mysql数据库查询 查询一张表某列中是都包含另一张表某列的数据的主要内容,如果未能解决你的问题,请参考以下文章
sql如何查询出一张表的的某个字段数据更换成另一张表的字段数据