SQL根据重复行连接一个列

时间:2016-03-25 02:40:25

标签: mysql sql

我有两张桌子:

Table1:
id Name
1  John
2   Bob

Table2:
id tags table1_id
1  dog      1
2  cat      1
3  tiger    2

当我尝试这段代码时:

Select Table1.*, Table2.tags FROM Table1 inner join Table2 on Table1.id = Table2.table1_id

这给了我

id Name tags
1  John dog
1  John cat
2  Bob  tiger

是否可以将标签组合成一个字符串,使结果成为:

id Name tags

1  John dog,cat
2  Bob  tiger

1 个答案:

答案 0 :(得分:2)

group_concat函数将根据指定的分组字段连接字段。

Select 
table1.id,
Table1.name, 
group_concat(Table2.tags) 
FROM Table1 
inner join Table2
on Table1.id = Table2.table1_id
group by table1.id, table1.name;