postgresql json聚合
发布时间:2020-12-13 15:58:12 所属栏目:百科 来源:网络整理
导读:我正在使用postgres 9.4,我有以下查询: SELECT pid,code,name FROM activity,( SELECT code FROM project) projects WHERE activity.pcode = projects.code; 返回以下关系: pid | code | name ------------------------------- 1 | p1 | activity1 1 | p3
我正在使用postgres 9.4,我有以下查询:
SELECT pid,code,name FROM activity,( SELECT code FROM project ) projects WHERE activity.pcode = projects.code; 返回以下关系: pid | code | name ------------------------------- 1 | p1 | activity1 1 | p3 | activity2 2 | p1 | activity3 2 | p2 | activity4 2 | p3 | activity5 我试图编写相同的查询,但我得到项目代码一个活动名称作为相对于每个“pid”的json数组 所以我正在寻找一个返回如下内容的查询: pid | json ------------------------------------------------------------------------------------ 1 | [{'code': 'p1','name': 'activity1'},{'code': 'p3','name': 'activity2'}] 2 | [{'code': 'p1','name': 'activity3'},{'code': 'p2','name': 'activity4'},'name': 'activity5'}] 有任何想法吗? UPDATE 这是我做的(这与Abelisto所说的很接近): SELECT pid,json_agg(json_build_object('code','name',name)) AS agg FROM activity JOIN ( SELECT code FROM project ) AS p ON p.code=activity.pcode GROUP BY pid; 解决方法select pid,name)) from ... group by pid (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |