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

sqlalchemyを使用したrow_to_jsonの構文

    クエリが誤ったSQLを生成します

    SELECT row_to_json(SELECT ... FROM foo) AS details
    FROM (SELECT ... FROM foo) AS details_foo_row_q
    

    あるべきです

    SELECT row_to_json(details_foo_row_q) AS details
    FROM (SELECT ... FROM foo) AS details_foo_row_q
    

    select as literal_column

    from sqlalchemy.sql.expression import literal_column
    
    details_foo_q = select([
        func.row_to_json(literal_column(details_foo_row_q.name)).label('details')
    ]).select_from(details_foo_row_q).where(
        details_foo_row_q.c.bar_id == Bar.id
    ).alias('details_foo_q')
    


    1. 別のシステムとの統合

    2. 任意のノードを与えるルートからツリー全体を見つけます

    3. データをテーブルに解析する

    4. PostgreSQLネストされたJSONクエリ