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

MySQL one-to-many join con Group By solo devuelve una observación

Puede usar GROUP_CONCAT para convertir los datos de varias filas en una sola cadena delimitada:

SELECT    a.CommentID, 
          a.Title,
          GROUP_CONCAT(b.TagID ORDER BY b.TagID) AS tags
FROM      CommentTable a
LEFT JOIN TagTable b ON a.CommentID = b.CommentID
GROUP BY  a.CommentID,
          a.Title

En este caso, si un comentario no tiene una etiqueta correspondiente, el campo sería NULL.

Demostración de SQLFiddle