mysql将查询到的字符串列表中的所有元素作为find_in_set 的strlist全查询一遍
时间: 2024-05-17 17:12:13 浏览: 156
mysql查询包含某字段的所有表
您可以使用GROUP_CONCAT函数和子查询来实现这个功能。具体步骤如下:
1. 使用SELECT语句查询出您需要的字符串列表。
2. 使用GROUP_CONCAT函数将查询结果中的字符串列表转换成以逗号分隔的字符串。
例如:SELECT GROUP_CONCAT(name) AS names FROM table_name;
3. 在主查询中使用SUBSTRING_INDEX函数将GROUP_CONCAT函数返回的字符串按照逗号分隔解析成多个字符串,然后将每个字符串作为参数传递给find_in_set函数进行查询。
例如:SELECT * FROM table_name WHERE find_in_set(SUBSTRING_INDEX(GROUP_CONCAT(name), ',', num), strlist) > 0;
其中,num是一个自增的计数器,用于指定要解析的字符串在GROUP_CONCAT函数返回的字符串中的位置。
注意:使用GROUP_CONCAT函数可能会因为字符串过长而导致查询失败,您需要根据实际情况调整查询语句。
阅读全文