2011-01-27 2 views
0

이 예를 들면 다음과 같습니다 :

테이블 하나 [id, name].
하나의 색상 표 [id, color].
하나의 연결 테이블입니다. (어느 색이 어떤 사람들에 의해 좋아하는지) [id, person_id, colour_id].MySQL은 다행히 문자열로 사용합니다.

id와 name을 가진 모든 사람뿐만 아니라 쉼표와 공백으로 구분되는 각 색상 이름의 열을 선택하고 싶습니다. ",". 한 사람은 단 하나의 색 이상을 좋아할 수 있습니다.

쿼리는 어떻게 표시됩니까?

감사합니다.

답변

4

내가 잘 했니?

SELECT person.id, person.name, GROUP_CONCAT(colour.colour SEPARATOR ', ') 
FROM person 
JOIN associations ON associations.person_id = person.id 
JOIN colours ON colours.id = associations.colour_id 
GROUP BY person.id 
+0

감사합니다. TehShrike. – Francisc