根据某字段将其他字段进行拼接的两种方法(SYS_CONNECT_BY_PATH及wm_concat)
2024-10-18 20:22:44
秘书姐姐说想知道她发起的所有流程,现在都到谁审批了。由于一条流程当前审批人可能有多个,故需根据单据编号(djbh)将审批人拼接到一个字段中。
说明:
wfn审批历史记录表,djbh 单据编号,pk_check审批人主键
user 用户表,uname 姓名,ucode 账号, pk_user 用户主键
方法一:使用SYS_CONNECT_BY_PATH
SELECT djbh, LTRIM(MAX(SYS_CONNECT_BY_PATH(uname, ' ')), ',') appname,LTRIM(MAX(SYS_CONNECT_BY_PATH(ucode, ' ')), ',') appcode
FROM (SELECT wf.pk_check,user.ucode,user.uname,wf.djbh, ROW_NUMBER() OVER(PARTITION BY wf.djbh ORDER BY wf.pk_check DESC) RN
FROM wfn wf
left join user on wf.pk_check= user.pk_user
where checknote is null and approvestatus = '')
START WITH RN = 1
CONNECT BY RN - 1 = PRIOR RN
AND djbh = PRIOR djbh
GROUP BY djbh;
方法二:使用wm_concat
select djbh,dbms_lob.substr(wm_concat(uname)) appname,dbms_lob.substr(wm_concat(ucode)) appcode
from (SELECT user.ucode,user.uname,wf.djbh
FROM wfn wf
left join user on wf.pk_check= user.pk_user
where checknote is null and approvestatus = '')
group by djbh;
2018-08-1414:53:28
最新文章
- html canvas 弹球(模仿)
- 使用回车键代替TAB键 需jquery1.4.2版本
- SSO系统的分析与架构
- 13、SQL基础整理(流程控制begin……end)
- At-rule | CSS @ 规则
- ORACLE PL/SQL异常处理(Exception)学习笔记
- 大数据时代之hadoop(二):hadoop脚本解析
- Zabbix通过SNMP监控多核CPU使用率时, 计算CPU平均使用率
- linux cpu load学习笔记
- JAVA提高十九:WeakHashMap&;EnumMap&;LinkedHashMap&;LinkedHashSet深入分析
- 【译】Gradle 的依赖关系处理不当,可能导致你编译异常
- 一起学Android之ProgressBar
- Linux常用命令--文件操作
- 聚类——KFCM的matlab程序
- postman(七):运行集合,看所有请求执行结果
- Spring源码阅读学习一
- BZOJ4122 : [Baltic2015]File paths
- Centos7 下安装配置tomcat7
- Android开发的16条小经验总结
- STM32串口的设置和库函数的介绍