sql >> Databasteknik >  >> RDS >> Mysql

MySQL en-till-många går med i Group By ger bara en observation

Du kan använda GROUP_CONCAT för att omvandla data i flera rader till en enda avgränsad sträng:

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

I det här fallet, om en kommentar inte har en motsvarande tagg, skulle fältet bara vara NULL.

SQLFiddle Demo



  1. SQL Server:Gör alla versaler till skiftläge/titel

  2. Oracle Data Mining (ODM) – Installation och installation

  3. Dämpa varningssignalen i bash

  4. Fel vid analys av data org.json.JSONUndantag:Slut på inmatning vid tecken 0 av - Android