2016-04-22 22 views
1

テーブル名はagentsで、エージェントのリストとprojects,という名前のテーブルがあり、そこにはそのプロジェクトで働くエージェントのリストとエージェントのリストが含まれています。MySQLクエリ:単一セル内の複数のセルの値

私が探している出力は、エージェントのリスト、管理しているプロジェクトの総数、プロジェクトのリストです。

サンプルテーブル:

agents

AgentID  AgentName 
------  --------- 
1   Name1 
2   Name2 
3   Name3 

projects

ProjectID ProjectName agentID 
--------- ----------- ------- 
1   PName1  2 
2   PName2  3 
3   PName3  2 

所望の出力:Bを用い

AgentName No. of Projects ProjectNames 
--------- --------------- ------------ 
Name2  2     PName1 
           PName3 
Name3  1     PName2 

私は1つのセル内のすべてのプロジェクトを連結することができる午前ELOWクエリ..

SELECT GROUP_CONCAT(projectName SEPARATOR ' , ') AS project_name FROM projects 

しかし、どのように(所望の出力表に示すように)私は... 1つのエージェントにリンクされているプロジェクトを連結することができますか?

この問題の解決方法はありますか?

私はこのコミュニティからの任意の助けを感謝します...

+0

あなたはこの正確なフォーマットを必要としていますか? –

+0

はい、私は報告書としてそれを示したいと思っています。 –

答えて

1
SELECT GROUP_CONCAT(projectName SEPARATOR ' , ') AS project_name, a.AgentID 
FROM projects p 
     join agents a on (p.AgentID = a.AgentID) 
GROUP BY a.AgentID 
+0

ありがとうございます。しかし、1つのプロジェクトを1行にまとめることは可能ですか? –

+0

セパレータで試してみてください。ワークベンチには影響しませんが、アプリケーションは次の行にデータを移動します –

関連する問題