Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A junção um-para-muitos do MySQL com Group By retorna apenas uma observação


Você pode usar GROUP_CONCAT para transformar dados em várias linhas em uma única string 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

Nesse caso, se um comentário não tiver uma tag correspondente, o campo será apenas NULL.

Demonstração do SQLFiddle