mysql 连接一列中的多个值

发布于 2024-10-10 17:08:58 字数 482 浏览 5 评论 0原文

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

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

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

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

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

select user,names from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id

这每次出现该用户的名称时,都会重复显示该用户。我想要的是这样的:

用户 - 名称
cyrex - 佩德罗克斯、兰博、塞尔达
宅男 - 卡门、卡洛斯、汤姆、桑德拉
杰瑞 - 宋飞传、克里斯汀
忍者 - 独奏男孩

等等......

I need to make a query that creates 3 columns that come from 2 tables which have the following relations:

TABLE 1 has Column ID that relates to TABLE 2 with column ID2

In TABLE 1 there is a column called user In TABLE 2 there is a column called names

There can be 1 unique user but there can be many names associated to that user.

If i do the following i get all data BUT the user column repeats itself for each name it has associated. What i want is for use to appear unique but the names columns appear with all the names associated to the user column but separated by commas, like the following:

select user,names from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id

This will show the users repeated everytime a name appears for that user. what i want is to appear like this:

USER - NAMES
cyrex - pedrox, rambo, zelda
homeboy - carmen, carlos, tom, sandra
jerry - seinfeld, christine
ninja - soloboy

etc....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

且行且努力 2024-10-17 17:08:58

您正在寻找的是 GROUP_CONCAT< /a> 运算符。

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

What you are looking for is the GROUP_CONCAT operator.

select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文