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 ;

相关推荐
这个DBA有点耶12 小时前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB13 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹14 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen14 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶15 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农16 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan17 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农17 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j
瑞克-桑切斯17 小时前
redis
数据库·redis·缓存