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

PostgreSql:横方向結合を使用した行へのJson配列

    これはあなたが望むものですか?

        -- just simulate table:
    with my_table(details) as(
    values
    ('{
    "city": "London",
    "name": "Sainburry",
    "quantities": [112, 145, 222, 122, 124],
    "prices": [4, 4, 4, 0, 3],
    "dates": ["13.05.2020", "14.05.2020", "15.05.2020", "16.05.2020", "17.05.2020"]
    }'::json)
    )
    
    
    -- here is query:
    select  
    my_table.details->>'city',  u.quantities, u.prices  
    from my_table
    JOIN LATERAL UNNEST( 
        ARRAY(SELECT json_array_elements_text(details->'quantities')) ,
        ARRAY(SELECT json_array_elements_text(details->'prices')) 
    ) u(quantities, prices) ON TRUE
    WHERE
    my_table.details->>'city' = 'London'
    

    デモを見る



    1. SQL Server(T-SQL)のトリガーから電子メールを送信する

    2. PostgreSQLで自動インクリメント主キーを定義する方法

    3. mysql_real_escape_string()とmysql_escape_string()はアプリのセキュリティに十分ですか?

    4. MySQLでCoalesceを使用する方法