Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中相关的知识,希望对你有一定的参考价值。

现在有两个表,表a中

aid 主管领导
1 1,2,3
2 2,4

表b中

bid 姓名
1 李一
2 刘二
3 张三
4 李四

怎么联合查询出
序号 主管领导 主管领导姓名
1 1,2,3 李一,刘二,张三
2 2,4 刘二,李四

参考技术A SELECT

a.aid AS '序号',

a.`主管领导`,

GROUP_CONCAT(b.`姓名`) AS `主管领导姓名`

FROM

a

LEFT JOIN b on FIND_IN_SET(b.id , a.`主管领导`)

GROUP BY a.aid

ORDER BY a.aid ASC

mysql 逗号分隔成多列数据

说明 t_split  是临时表,分割几个,里面id字段分别是1-5
SELECT
substring_index( substring_index( a.content, ‘,‘, b.id + 1 ), ‘,‘,- 1 ) product_id
FROM
t_exhibition_booth_cell a
JOIN t_exhibition_booth ON t_exhibition_booth.id = a.booth_id
JOIN t_exhibition ON t_exhibition.id = t_exhibition_booth.exhibition_id
JOIN t_split b ON b.id <= ( length( a.content ) - length( REPLACE ( a.content, ‘,‘, ‘‘ ) ) + 1 )
WHERE
t_exhibition.CODE = ‘homepage5.18‘

以上是关于Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中的主要内容,如果未能解决你的问题,请参考以下文章

MySQL - 如何选择表中的行,其中 id 值位于另一个表中的逗号分隔字段中?

mysql 逗号分隔成多列数据

mysql 查询某字段中以逗号分隔的字符串的包含查询和关联查询实现

mysql 查询某字段中以逗号分隔的字符串的包含查询和关联查询实现

mysql 查询某字段中以逗号分隔的字符串的包含查询和关联查询实现

php 如何从mysql输出数组用逗号分隔?