Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL one-to-many join con Group By restituisce solo un'osservazione

Puoi utilizzare GROUP_CONCAT per trasformare i dati in più righe in un'unica stringa delimitata:

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

In questo caso, se un commento non ha un tag corrispondente, il campo sarebbe semplicemente NULL.

Demo SQLFiddle