Du kan göra detta genom att använda aggregat och/eller underfrågor. Något i stil med:
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;
Om du behöver detta sammanställt till en sträng/json/någonting – linda in det i en annan sammanställd fråga så här:
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;
Detta är en Postgres-fråga. Har ingen erfarenhet av Mysql.