La fonction que vous recherchez est GROUP_CONCAT
. Voir la documentation :
http://dev.mysql .com/doc/refman/5.7/en/group-by-functions.html#function_group-concat
Dans votre exemple, vous pouvez simplement créer une autre sous-requête (exemple ci-dessous). Ou JOIN
de manière standard à la requête d'origine.
...
(
SELECT GROUP_CONCAT(gtp.id)
FROM game_table_players gtp
LEFT JOIN game_rounds gr ON gr.id = gtp.game_round_id
WHERE gt.id = gtp.game_table_id
AND gtp.quit<>1 AND gr.finish=0
) AS players,
...
Notez le commentaire sur NULL
gestion dans GROUP_CONCAT
. Si vous souhaitez afficher des zéros lorsqu'aucun joueur n'est présent, vous pouvez utiliser COALESCE(GROUP_CONCAT(gtp.id), 0)
à la place.