sql >> Database >  >> RDS >> Mysql

MySQL one-to-many join met Group By retourneert slechts één observatie

U kunt GROUP_CONCAT om gegevens in meerdere rijen om te zetten in een enkele tekenreeks met scheidingstekens:

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 dit geval, als een opmerking geen corresponderende tag heeft, zou het veld gewoon NULL zijn.

SQLFiddle-demo



  1. 2019 Open Source Database Report:Topdatabases, Public Cloud vs. On-Premise, Polyglot Persistence

  2. SQL Server:maak alle HOOFDLETTERS tot juiste hoofdletters/titels

  3. PL/SQL-programma om werknemersgegevens af te drukken

  4. Hoe PostgreSQL logische replicatie te optimaliseren