sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL och nodejs/pg, returnerar kapslad JSON

I PostgreSQL kan du bygga följande JSON-objekt:

[
    { "name": "Portfolio #1", "cars": [ "Car #1", "Car #2" ] },
    { "name": "Portfolio #2", "cars": [ "Car #3" ] }
]

Du kan konstruera objektet från dina tabeller med följande fråga:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.name, array(select name from cars where portfolio_id = p.id) as cars) n on true
  ))

Och med cars.votes fält som ingår:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.id, p.name, array_to_json(array(
     select row_to_json((select a from (select c.name, c.votes) a))
     from cars c
     where portfolio_id = p.id)) as cars) n on true
  ))



  1. Alternativ för mysql_insert_id i mysql?

  2. Uppdatera flera rader med en fråga?

  3. Använda Google Cloud SQL under utveckling av Java-appenginer (istället för lokal MySQL-instans)

  4. Hur anropar jag en lagrad procedur med argument med sqlcmd.exe?