Mysql
 sql >> Base de données >  >> RDS >> Mysql

Construire un graphique d'objets imbriqués à partir de la relation SQL hasmany

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.