[英]Multiple LISTAGG function in one SQL from different table
我正在尝试使用 Oracle SQL 开发人员中的 LISTAGG function 从不同的表中获取数据。 能够聚合ID数据,但无法从另一张表中获取对应ID的值到另一列。 这是示例表数据和预期输出。
请帮我建立查询。
预计 Output:
唯一标识符 | 你的名字 | 角色编号 | 角色名称 |
---|---|---|---|
1个 | 用户1 | 50,60,70 | 开发、测试、QC |
2个 | 用户2 | 60,70 | 测试,质量控制 |
3个 | 用户3 | 60,70 | 质量控制 |
select Uid, user_name,
LISTAGG(role_id,',')
WITHIN GROUP(ORDER BY role_id) AS role_id,
LISTAGG(role_name,',')
WITHIN GROUP(ORDER BY role_name) AS role_name from
(select au.Uid,au.user_name,r.role_id, r.role_name from
Auth_user au join user_role ur on au.Uid = ur.Uid
join role r on ur.Role = r.role_id) FL
GROUP BY FL.Uid
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.