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

MySQL en-til-mange joinforbindelse med Group By returnerer kun én observation

Du kan bruge GROUP_CONCAT for at omdanne data i flere rækker til en enkelt afgrænset streng:

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 dette tilfælde, hvis en kommentar ikke har et tilsvarende tag, ville feltet bare være NULL.

SQLFiddle Demo



  1. org.postgresql.util.PSQLEundtagelse:Store objekter må ikke bruges i auto-commit-tilstand

  2. scope_identity vs ident_current

  3. samtidig adgang til MySQL-database ved hjælp af lagret procedure

  4. Hvordan kan jeg ændre præfikser i alle tabeller i min MySQL DB?