mysql一个表中字段保存用逗号分割的用户id,如何将用户id转换成用户名,mysql将逗号分割的id,转换成文字

mysql一个表中字段保存用逗号分割的用户id,如何将用户id转换成用户名

用户表
mysql一个表中字段保存用逗号分割的用户id,如何将用户id转换成用户名,mysql将逗号分割的id,转换成文字_第1张图片

测试表,user_ids用户ID
mysql一个表中字段保存用逗号分割的用户id,如何将用户id转换成用户名,mysql将逗号分割的id,转换成文字_第2张图片

查询结果
mysql一个表中字段保存用逗号分割的用户id,如何将用户id转换成用户名,mysql将逗号分割的id,转换成文字_第3张图片

CREATE TABLE `user` (
  `id` int(11) NOT NULL COMMENT 'ID',
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '名称',
  `createtime` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `user_ids` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
SELECT 
	t.id,
	GROUP_CONCAT( u.name ) AS usernames 
FROM
	test t
	LEFT JOIN user u ON FIND_IN_SET( u.id, t.user_ids ) 
GROUP BY
	t.id

你可能感兴趣的:(mysql,数据库,sql)