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

相关推荐
全栈胖叔叔-瓜州11 分钟前
关于微软最新数据库引擎sqlserver2025 关于向量距离函数调用的问题
数据库·microsoft
全栈小514 分钟前
【Rust】从0到1开发和运行Web相关功能,并简单实现数据库连接和查询
数据库·rust
墨辰JC37 分钟前
基于STM32标准库的FreeRTOS移植与任务创建
数据库·stm32·嵌入式硬件·freertos
R.lin40 分钟前
MongoDB知识点与技巧总结
数据库·mongodb
幽水-椰子糖42 分钟前
达梦守护搭建
数据库·达梦
q***3751 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
王小小鸭2 小时前
【Oracle APEX开发小技巧17】交互式网格操作按钮根据条件/状态设置能否被点击生效
数据库·oracle·oracle apex
lang201509282 小时前
oracle 11查询数据库锁
数据库·oracle
hweiyu002 小时前
Oracle 基础入门:核心概念与实操指南(视频教程)
数据库·oracle
羊锦磊2 小时前
[ 项目开发 1.0 ] 新闻网站的开发流程和注意事项
java·数据库·spring boot·redis·spring·oracle·json