我需要进行一个查询,创建来自 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 - 佩德罗克斯、兰博、塞尔达
宅男 - 卡门、卡洛斯、汤姆、桑德拉
杰瑞 - 宋飞传、克里斯汀
忍者-soloboy
etc....
您正在寻找的是组连接 http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat操作员。
select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)