sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener los valores contados con un separador de coma como valor de una sola fila

La función que está buscando es GROUP_CONCAT . Consulte la documentación:

http://dev.mysql .com/doc/refman/5.7/en/group-by-functions.html#function_group-concat

En su ejemplo, puede crear una subconsulta más (ejemplo a continuación). O JOIN de forma estándar a la consulta original.

...
(
      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,
...

Tenga en cuenta el comentario sobre NULL manejo en GROUP_CONCAT . Si desea mostrar ceros cuando no hay ningún jugador presente, puede utilizar COALESCE(GROUP_CONCAT(gtp.id), 0) en su lugar.