2016-12-15 4 views
2

では正常に動作していない私は、3つのテーブルを持っている: em_employee:GROUP_CONCAT()はmysqlの

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_employee:私のような出力をしたい

+------------+------------+ 
| 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; 

ため、ご希望の出力には何があるかと若干異なる電子う:

+0

平均は?私は取得していません。 – Madhura

+0

これは、 'sql-server'のようにあなたの質問に無関係なタグを含めないことを意味します。 – shmosel

+0

*何かが間違っています。*何が間違っているか教えてくれましたか?あるいは、あなたが試したことと何が問題なのかを推測したいと思っていましたか? – shmosel

答えて

4

このクエリを試してみてください、それは出力があることprodues。注文が重要な場合。

GROUP_CONCAT(name ORDER BY p.project_id) 
+0

ありがとうございました。 – Madhura