oracle中实现某个字段的多个值融合成另一个字段的值并逗号隔开
oracle中实现某个字段的多个值融合成另一个字段的值并逗号隔开
·
oracle中实现某个字段的多个值融合成另一个字段的值并逗号隔开
1.场景复现
我现在有这样的数据(简单例子)
然后需求是变成这个样子
2.oracle实现sql
select DISTINCT
a.ID,
RTRIM(LISTAGG(to_char(b.UNIT_NAME), ',') WITHIN GROUP(ORDER BY b.UNIT_NAME)over (partition by a.ID ),'、')AS executeUnit
from TASK_ACTUAL_SEND a, TASK_SEND_UNIT b
where a.ID=b.TASK_ACTUAL_SEND_ID
执行结果:
3.涉及技术
我这里最主要是使用oracle中的RTRIM函数和LISTAGG函数,下边这段代码是核心的使用方式
RTRIM(LISTAGG(to_char(b.UNIT_NAME), ',') WITHIN GROUP(ORDER BY b.UNIT_NAME)over (partition by a.ID ),'、')AS executeUnit
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)