【发布时间】:2018-10-27 05:11:39
【问题描述】:
users 和 roles 表之间存在多对多关系(典型用例)。它们使用 user_role 表关联在一起。我执行以下查询:
select
u.id, u.first_name, u.last_name, u.middle_name,
u.email_address, r.id, r.role_code
from
master.user u
left join
master.user_role ur
on ur.user_id = u.id
and ur.is_void = false
left join
master.role r
on r.id = ur.role_id
and r.is_void = false
where u.id = 7 and u.is_void = false
结果
7;"Multi Role";"First";"Middle";"mult@gmail.com";1;"ST"
7;"Multi Role";"First";"Middle";"mult@gmail.com";2;"TC"
我如何将角色聚合到一个 json 或数组列中,以使其结果:
7;"Multi Role";"First";"Middle";"mult@gmail.com";[{id: 1, role_code : ST}, {id: 2, role_code: TC}]
【问题讨论】:
-
请修正您的示例:在您的查询中,“first_name”列中有“Multi Role”。我认为这是不正确的,不是吗?
标签: sql json postgresql join