Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL One-to-Many Join mit Group By gibt nur eine Beobachtung zurück

Sie können GROUP_CONCAT um Daten in mehreren Zeilen in eine einzelne Zeichenfolge mit Trennzeichen umzuwandeln:

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

Wenn in diesem Fall ein Kommentar kein entsprechendes Tag hat, wäre das Feld einfach NULL.

SQLFiddle-Demo