sql >> Databáze >  >> RDS >> Mysql

Připojení MySQL one-to-many s Group By vrátí pouze jedno pozorování

Můžete použít GROUP_CONCAT převést data ve více řádcích do jednoho odděleného řetězce:

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

V tomto případě, pokud komentář nemá odpovídající značku, pole bude mít pouze hodnotu NULL.

Ukázka SQLFiddle



  1. MySQL:Zobrazit s poddotazem v omezení klauzule FROM

  2. Zachování hodnot textového pole i po obnovení

  3. Vygenerujte náhodné datum v Oracle pomocí DBMS_RANDOM

  4. Jak správně zacyklit uloženou funkci na MySQL?