Mysql 字段存储多个ID关联查询(GROUP_CONCAT和FIND_IN_SET函数用法)

在很多时候都有这样的设计场景,一个字段会存储多个id编号,以逗号分隔开,需要关联查询数据。

采用内置函数FIND_IN_SET实现

tb_point_catalog
tb_topic

查询列point里多个编号所代表的记录信息

select t.id,t.point,
(select GROUP_CONCAT(po.name) from tb_point_catalog as po where FIND_IN_SET(po.id,t.point)) as ponitName
from tb_topic as t;

查询结果

GROUP_CONCAT函数

语法:GROUP_CONCAT(expr)

GROUP_CONCAT会将多个值以逗号拼接起来,返回成一个字符串

FIND_IN_SET函数

语法:FIND_IN_SET(str,strlist)

str要查询的字符串

strlist字段名,参数以逗号分隔开

发布了45 篇原创文章 · 获赞 51 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_40162735/article/details/100078965