mysql - 用一条sql语句如何实现两个表字段的模糊统计需求?

 

问题描述:

A表内容如下:
A表
B表内容如下:
B表
我想用一条SQL语句实现A表中的内容模糊统计出来B表出现的次数,结果如下:

应该如何实现啊?A表的字段服务类型内容是动态变化的,我写了很久都没写出来,请大神出手指点指点。


 

第 1 个答案:

首先,建议这种sql语句的问题,提供一下DDL的建表以及测试数据的语句..
其次,这种结构的不应使用模糊查询去操作,应新增一个公司跟服务类型的关联表去储存.

最终,按照本题,我的解答是如下语句

SELECT a.service,count(b.company) as num FROM table_a a 
LEFT JOIN table_b b ON b.service LIKE CONCAT('%',a.service,'%')
GROUP BY a.service

这是目前的表设计,这是一个简单的博客系统。问答表和文章表目前用一个收藏、评论、点赞表。现在在开发中遇到了很多不方便。这种情况还有公用表的必要嘛,现在是设置了一个type字段。来区分,每次使用Joi验证 ...