Mam trzy tabele:JOIN i GROUP_CONCAT z trzech tabel
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
tabeli user_sports
linki users
i sports
o kolejności preferencji (pref
).
muszę zrobić kwerendę, która zwraca to:
id | name | sport_ids | sport_names
---+-------+-----------+----------------------------
1 | Peter | 1,2 | Tennis,Football
2 | Alice | 3 | Basketball
3 | Bob | 2,3,1 | Football,Basketball,Tennis
Próbowałem z JOIN
i GROUP_CONCAT
ale mam dziwne wyniki.
Czy muszę wykonać zagnieżdżone zapytanie?
Jakieś pomysły?
czy mógłbyś opublikować swoją rutynę group_concat, która nie działała? Wydaje się dokładnie to, czego potrzebujesz (zobacz tę stronę: http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field), więc może być pomocne zobacz queryt o określić, jak poszło nie tak. – user158017