Vous pouvez le faire en utilisant des agrégats et/ou des sous-requêtes. Quelque chose comme :
select title, content, json_agg(comments.author, comments.message) as comments
from articles
join comments on articles.article_id = comments.article_id
group by article_id;
Si vous avez besoin que cela soit agrégé dans une chaîne/json/quelque chose, encapsulez-le simplement dans une autre requête agrégée comme celle-ci :
select json_agg(sub)
from (
select title, content, json_agg(comments.author, comments.message) as comments
from articles
join comments on articles.article_id = comments.article_id
group by article_id) sub;
Il s'agit d'une requête Postgres. N'ont aucune expérience avec Mysql.