Oracle很好的自动拼接某个字段的函数listagg使用实例

with mes1 as

(

select c.cugrnname,cdd.cuassociatepackingname,c.cuReceiveTime,c.cuReceivePerson,

CASE WHEN c.custatus = 1 THEN N'已发送'

ELSE N'已接收' END custatus

,c.cuSendTime, c.cuSendPerson,cdd.cupackingworkcenter,cdd.cuqty,pb.PRODUCTNAME,p.description,cdd.description as Reworks ,c.cuconfirmperson as CONFIRM

from cugrn c

inner join cuDetails cd on cd.cugrnid = c.cugrnid

inner join cuassociatepacking cdd on cdd.cuassociatepackingid = cd.cuassociatepackingid

inner join product p on p.productid = cdd.cuproductid

inner join productbase pb on pb.productbaseid = p.productbaseid

where c.cugrnname = N'M221124014' or cdd.cuassociatepackingname = N'1'

),

mes2 as

(

select th,max(gd) as gd

from

(

select 托号 as th, listagg(工单,',') within group ( order by 托号) over (partition by 托号) gd

-----很好的自动拼接某个字段的函数

from

( SELECT C1.CUASSOCIATEPACKINGNAME as 托号,

MO.MFGORDERNAME as 工单

FROM cuAssociatePacking c1

inner join cuAssociateDetails c2 on c1.cuassociatepackingid = c2.cuassociatepackingid

left join cuAssociatePacking C5 on c5.cuassociatepackingname = C2.CUSONLOT

left join cuAssociateDetails c6 on c6.cuassociatepackingid = c5.cuassociatepackingid

left join container C7 on c7.containerid = c6.cufromlotid

LEFT join cucontainergraderrecord ccd on ccd.containername=C7.containername

inner join mfgorder mo on ccd.cuworkorder = mo.mfgordername

inner join mes1 m1 on m1.cuassociatepackingname=c1.CUASSOCIATEPACKINGNAME

where c1.cupackingtype='Pallet' ---and c1.cupackingtime>sysdate-1

group by c1.CUASSOCIATEPACKINGNAME,mo.mfgordername

)t

)t1

group by t1.th ----确保一条记录

)

select m1.*,m2.gd

from mes1 m1

left join mes2 m2 on m1.CUASSOCIATEPACKINGNAME=m2.th

相关推荐
Mistra丶4 分钟前
记一次 JVM+Postgresql的 “死锁” 问题排查
jvm·数据库·postgresql·死锁
一然明月5 分钟前
Qt QML 锚定(Anchors)全解析
java·数据库·qt
分享牛23 分钟前
Operaton入门到精通23-Operaton 2.0 原生支持 JUnit 6 核心指南
数据库·junit
编码忘我42 分钟前
mysq系列之事务
数据库
知识分享小能手1 小时前
Redis入门学习教程,从入门到精通,Redis进阶编程知识点详解(5)
数据库·redis·学习
MekoLi291 小时前
MongoDB 新手完全指南:从入门到精通的实战手册
数据库·后端
cyforkk1 小时前
Spring AOP 进阶:揭秘 @annotation 参数绑定的底层逻辑
java·数据库·spring
2401_884970611 小时前
用Pygame开发你的第一个小游戏
jvm·数据库·python
麦聪聊数据1 小时前
快速将Oracle数据库发布为 API:使用 QuickAPI 实现 SQL2API
数据库·sql·低代码·oracle·restful
6+h1 小时前
【Redis】数据结构讲解
数据结构·数据库·redis