MySQL in 模糊查询问题的解决方法

MySQL in 模糊查询问题的解决方法

表数据:
MySQL in 模糊查询问题的解决方法_第1张图片
查询SQL:
MySQL in 模糊查询问题的解决方法_第2张图片

SELECT
A.*
FROM
(
SELECT 
	SUBSTRING_INDEX(SUBSTRING_INDEX(需要拆分为行的字符串,',',help_topic_id+1),',',-1) AS `content` 
   FROM
	mysql.help_topic 
   WHERE 
	help_topic_id < LENGTH(需要拆分为行的字符串)-LENGTH(REPLACE(需要拆分为行的字符串,',',''))+1
) t
 LEFT JOIN 需要进行模糊查询的表  AS A ON A.content LIKE CONCAT(t.`content` ,'%')

查询结果:
MySQL in 模糊查询问题的解决方法_第3张图片

实现思路:
1.将字符串分割,实现split函数的功能。资料来源:https://blog.csdn.net/pjymyself/article/details/81668157
该查询成功实现该功能。

SELECT 
	SUBSTRING_INDEX(SUBSTRING_INDEX(需要拆分为行的字符串,',',help_topic_id+1),',',-1) AS `content` 
   FROM
	mysql.help_topic 
   WHERE 
	help_topic_id < LENGTH(需要拆分为行的字符串)-LENGTH(REPLACE(需要拆分为行的字符串,',',''))+1

2.利用连接查询,把需要进行模糊查询的表进行连接,结合第一步解决了in与模糊查询的问题。

你可能感兴趣的:(MySQL)