![oracle列转行 WM_CONCAT LISTAGG oracle列转行 WM_CONCAT LISTAGG](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700)
开发给个SQL说给某个条件时报ORA-22922
代码段:
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才提供的函数