使用group by和group_concat获取多行

时间:2015-11-24 12:56:36

标签: mysql

我有2张桌子

表A

+-------------------------+
| A_id     unique_id      |
+-------------------------+
| 1         1             |
| 2         1             |
| 3         1             |
| 4         2             |
| 5         2             |
+-------------------------+

表B

+------------------------+
| A_id  unique_id   tags |
+------------------------+
| 1         1         A  |
| 2         1         B  |
| 3         1         c  |
| 4         2         D  |
| 5         2         E  |
+------------------------+   

我想加入这些表并获取每个unique_id的所有标签,我需要为每个a_id提供这些连接标签。这可以通过一个带有join和group by和group_concat的查询实现吗?任何其他方法也会乐于助人

O / P

+-----------------+
|  A_id     tags  |
+-----------------+
| 1         A,B,C |
| 2         A,B,C |
| 3         A,B,C |
| 4         D,E   |
| 5         D,E   |
+-----------------+

1 个答案:

答案 0 :(得分:0)

使用Group_concat或group by

select  A_id,
(select Group_concat(tags) From table T1 
where  T1.unique_id= T2.unique_id group by unique_id) tags
From table T2