Group_Concat() 在 mysql 中无法正常工作

Group_Concat() is not working properly in mysql

我有三个表: em_employee :

emp_number | emp_firstname |
+------------+---------------+
|          1 | Vikram        |
|          2 | S.            |
|          3 | Gopal         |
|          4 | Vaishnavi     |
|          5 | Srinivasan    |
|          6 | Saravanan  

em_project

+------------+------------------------------+
| project_id | name                         |
+------------+------------------------------+
|        339 | MoneyGram                    |
|        340 | SERVICE LINE HEAD COMPLIANCE |
|        341 | SERVICE LINE HEAD ANALYTICS  |
|        342 | GSI                          |
|        343 | Tandem                       |
|        344 | Master Card                  |
+------------+------------------------------+

em_project_员工:

+------------+------------+
| emp_number | project_id |
+------------+------------+
|          1 |        339 |
|          2 |        340 |
|          3 |        341 |
|          4 |        342 |
|          1 |        343 |
|          6 |        344 |
|          2 |        342 |
+------------+------------+

而且我想要这样的输出:

+------------+----------------------------------+
| emp_number | name                             |
+------------+----------------------------------+
|        1   | MoneyGram , Tandem               |
|        2   | SERVICE LINE HEAD COMPLIANCE,GSI |
|        3   | SERVICE LINE HEAD ANALYTICS      |
|        4   | GSI                              |
|        6   | Master Card                      |
+------------+----------------------------------+

我已经用 GROUP_CONCAT 试过了,但出了点问题。请帮我解决这个问题。

试试这个查询,它产生输出:

SELECT emp_number, GROUP_CONCAT(name) FROM em_project p 
INNER JOIN em_project_employee em ON p.project_id = em.project_id 
GROUP BY emp_number;

数据的顺序将与您想要的输出顺序略有不同。如果顺序很重要。

GROUP_CONCAT(name ORDER BY p.project_id)