首页 > 解决方案 > 如何从非唯一联接附加多个值?

问题描述

我有 2 张桌子:

table1
name  |age
------|----
Molly | 10
Jack  | 13
Bob   | 12
table2
name  | classes
---------------
Molly | math
Molly | english
Jack  | history

有没有办法获得以下输出:

Molly, math|english
Jack, history 

当我使用 join 时,我最终会在不同的行上得到 Molly 的重复项。

SELECT a.names, a.age, b.classes 
FROM tables1 as a
JOIN tables2 as b
ON a.names=b.names

Molly, 10, math
Molly, 10, english
Jack, 13, history

标签: mysqlsql

解决方案


group_concat会成功的。你的桌子的一个例子是这里

select table1.name, group_concat(table2.classes SEPARATOR '|') from 
table1 inner join table2 on table1.name = table2.name
group by table1.name

推荐阅读