【问题标题】:Convert query result to be one array json object in postgresql将查询结果转换为 postgresql 中的一个数组 json 对象
【发布时间】:2021-12-05 15:50:31
【问题描述】:

我的问题是我想将查询结果转换为 Postgresql 中的一个 json 对象

例如,我有一个这样的查询:

SELECT row_to_json(r)
FROM 
(
    select ff.*, json_agg(ffo."option") as options
    from form_field ff, form_field_options ffo 
    where ffo.form_field_id = ff.id and ff.form_id = 'fef5c7e0-170c-4556-80d2-42e3db66cfa2'
    group by ff.id
) r

结果是:

是否可以将结果转换为类似: [{...}, {...}] 以便我可以将其用作另一个查询中的子查询

感谢阅读

【问题讨论】:

    标签: sql json postgresql


    【解决方案1】:

    您可以添加另一层 json_agg 将其转换为 json 对象列表。

    例如

    SELECT json_agg(row_to_json(r)) my_json_data
    FROM 
    (
        select ff.*, json_agg(ffo."option") as options
        from form_field ff, form_field_options ffo 
        where ffo.form_field_id = ff.id and ff.form_id = 'fef5c7e0-170c-4556-80d2-42e3db66cfa2'
        group by ff.id
    ) r
    

    【讨论】:

    • 哦,效果很好,感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多