繁体   English   中英

来自不同表的多个 LISTAGG function 在一个 SQL 中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM