2012-10-19 5 views
4

하나의 세포로 그룹화 한 컬럼의 데이터로 결과 출력하기 : 다음 샘플 결과를 반환는 MySQL은 내가 MySQL의 쿼리가

SELECT work.ID AS workID 
     ,team.ID AS team_ID 
     ,team.name AS teamName 
    FROM work 
    LEFT OUTER JOIN team_work ON team_work.work_ID = work.ID 
    LEFT OUTER JOIN team ON team_work.team_ID = team.ID 

:

workID team_ID teamName 
1  10   Support 
2  20   Dev 
2  10   Support 
3  30   Admin 
4  40   Research 

을 그리고 나는 그것을 출력을 원하는 화면에는 workID 당 행이 있고 팀 이름 목록이있는 열이 있도록 표 형식으로 표시됩니다. 다음과 같은 것 :

WORK ID | TEAM NAME 
------------------------- 

1  | Support 

2  | Dev 
     | Support 

3  | Admin 

4  | Research 

나는 쿼리가 정확한 방법이 아니라는 것을 안다. (가장 쉬운 방법 임에도 불구하고). 중첩 된 배열에 대한 몇 가지 것을 보았습니다. 그러나 초보자로서 어떻게해야하는지에 대해서는 분명하지 않습니다.

누구나 선반에서 내게 말하는 데 시간을 할애하고 싶습니까?

감사합니다 ...

답변

4
SELECT work.ID AS workID 
     ,group_concat(teamName) AS teamName 
FROM work 
LEFT OUTER JOIN team_work ON team_work.work_ID = work.ID 
LEFT OUTER JOIN team ON team_work.team_ID = team.ID 
group by work.ID