2015-11-24 30 views
0

我有2個表提取使用GROUP BY和GROUP_CONCAT

多行

表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的這些連接標籤。這可以通過一個連接和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 | 
+-----------------+ 

回答

0

使用GROUP_CONCAT或組由

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