JOIN и GROUP_CONCAT с тремя таблицами

У меня есть три таблицы:

users:        sports:           user_sports:

id | name     id | name         id_user | id_sport | pref
---+--------  ---+------------  --------+----------+------
 1 | Peter     1 | Tennis             1 |        1 |    0
 2 | Alice     2 | Football           1 |        2 |    1
 3 | Bob       3 | Basketball         2 |        3 |    0
                                      3 |        1 |    2
                                      3 |        3 |    1
                                      3 |        2 |    0

Таблица user_sportsсвязывает пользователейи спортс порядком предпочтения (pref ).

Мне нужно сделать запрос, который вернет следующее:

id | name  | sport_ids | sport_names
---+-------+-----------+----------------------------
 1 | Peter | 1,2       | Tennis,Football
 2 | Alice | 3         | Basketball
 3 | Bob   | 2,3,1     | Football,Basketball,Tennis

Я пытался использовать JOINи GROUP_CONCAT, но получаю странные результаты.
Нужно ли делать вложенный запрос?
Есть идеи?

10
задан Peter 8 June 2012 в 21:33
поделиться