mysql - 来自网桥 table 的多对多查询

mysql - many to many query from bridge table

我有一个任务要完成。存在多对多关系。桥梁 table 已经建成,看起来像

    left id     right id
  +----------+---------+
 |        1 |       1 |
 |        1 |       2 |
 |        2 |       1 |
 |        2 |       2 |
 |        2 |       8 |
 |        3 |       1 |
 |        3 |       2 |
 |        3 |       4 |
 |        4 |       1 |
 |        4 |       2 |
 |        4 |       3 |
 |        4 |       5 |
 |        5 |       1 |
 |        5 |       2 |
 |        5 |       4 |
 |        5 |       6 |
 |        5 |       7 |
 +----------+---------+

我必须在一行中显示左id = 右id 例如

for left id 1
left1 | right1 righ 2
for left id 3
left3 | right1 right2 right 4

我该怎么做?我试过加入 table ,没用

我认为您可以使用 GROUP BY 和 GROUP_CONCAT()

使用简单的查询来实现此目的
SELECT left_id, GROUP_CONCAT(right_id SEPARATOR ' ') as rigth_id 
FROM left-right 
GROUP BY left_id;

这是 GROUP_CONCAT()GROUP BY 的相当简单的应用。 (http://sqlfiddle.com/#!9/ed7e1/2/0)

SELECT leftId, 
       GROUP_CONCAT(rightId ORDER BY rightId) rightIds
  FROM bridge
 GROUP BY leftId