站长网 MySql教程 mysql在一列中连接多个值

mysql在一列中连接多个值

我需要创建一个查询,创建3个来自2个表的列,这些表具有以下关系: 表1具有与具有列ID2的表2相关的列ID 在表1中,有一个名为user的列在表2中有一个名为names的列 可以有1个唯一用户,但可以有许多与该用户关联的名称. 如果我执行以下操作,我将获得所有数据但是

我需要创建一个查询,创建3个来自2个表的列,这些表具有以下关系:

表1具有与具有列ID2的表2相关的列ID

在表1中,有一个名为user的列在表2中有一个名为names的列

可以有1个唯一用户,但可以有许多与该用户关联的名称.

如果我执行以下操作,我将获得所有数据但是用户列会为其关联的每个名称重复自己.我想要的是用于显示唯一,但名称列显示所有与用户列关联但由逗号分隔的名称,如下所示:

select TABLE,TABLE1中的名称左连接TABLE1.id = TABLE2.id上的TABLE2

这将显示每次为该用户显示名称时重复的用户.我想要的是这样:

用户 – 名字
cyrex – pedrox,rambo,zelda
homeboy – carmen,carlos,tom,sandra
杰里 – 塞恩菲尔德,克里斯汀
忍者 – soloboy

等等….

最佳答案
您正在寻找的是GROUP_CONCAT操作符.

select user,GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/jc/mysql/2021/0523/4218.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部