oracle列转行 WM_CONCAT LISTAGG

时间:2023-03-08 19:00:36
oracle列转行 WM_CONCAT LISTAGG

开发给个SQL说给某个条件时报ORA-22922

oracle列转行 WM_CONCAT LISTAGG

代码段:

 SELECT 袋号,
SUM(实际重量) AS 实际重量,
SUM(材积重量) AS 材积重量,
COUNT(运单号) AS 件数,
TO_CHAR(WMSYS.WM_CONCAT(运单号)) AS 运单编号
FROM TBL
GROUP BY 袋号

修改成如下后解决:

 SELECT 袋号,
SUM(实际重量) AS 实际重量,
SUM(材积重量) AS 材积重量,
COUNT(运单号) AS 件数,
LISTAGG(运单号, ',') WITHIN GROUP(ORDER BY 运单号) AS 运单编号
FROM TBL
GROUP BY 袋号

注:

LISTAGG为11G2才提供的函数