Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erstellen Sie einen verschachtelten Objektgraphen aus der SQL-Hasmany-Beziehung

Sie können dies tun, indem Sie Aggregate und/oder Unterabfragen verwenden. Etwas wie:

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;

Wenn Sie dies in einer Zeichenfolge/json/etwas aggregiert benötigen, packen Sie es einfach in eine andere aggregierte Abfrage wie folgt ein:

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;

Dies ist eine Postgres-Abfrage. Habe keine Erfahrung mit Mysql.