sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLとnodejs/pg、ネストされたJSONを返します

    PostgreSQLでは、次のJSONオブジェクトを作成できます。

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

    次のクエリを使用して、テーブルからオブジェクトを作成できます。

    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
      ))
    

    そしてcars.votesで 含まれるフィールド:

    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. 多次元配列をMySQLテーブルに挿入するにはどうすればよいですか?

    2. 結果がない場合に数値「ゼロ」を返すMySQLクエリ

    3. ZendFramework2で生のSQLクエリを実行する方法

    4. 有効なjsonとコピーをpostgresテーブルに挿入します