sql >> Base de Datos >  >> RDS >> Mysql

Construya un gráfico de objetos anidados a partir de SQL con muchas relaciones

Puede hacer esto, usando agregados y/o subconsultas. Algo como:

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 necesita esto agregado en una cadena/json/algo, simplemente envuélvalo en otra consulta agregada como esta:

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;

Esta es una consulta de Postgres. No tener experiencia con Mysql.