oracle列转行 WM_CONCAT LISTAGG

Posted 你若盛开,蝴蝶自来。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle列转行 WM_CONCAT LISTAGG相关的知识,希望对你有一定的参考价值。

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

 

 代码段:

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

 

修改成如下后解决:

1 SELECT 袋号,
2        SUM(实际重量) AS 实际重量,
3        SUM(材积重量) AS 材积重量,
4        COUNT(运单号) AS 件数,
5        LISTAGG(运单号, \',\') WITHIN GROUP(ORDER BY 运单号) AS 运单编号
6   FROM TBL
7  GROUP BY 袋号

注:

LISTAGG为11G2才提供的函数

以上是关于oracle列转行 WM_CONCAT LISTAGG的主要内容,如果未能解决你的问题,请参考以下文章

Oracle列转行函数vm_concat在19C版本不兼容解决方案

oracle WMSYS.WM_CONCAT 函数转为listagg

oracle聚合函数XMLAGG用法简介

oracle列转行函数

oracle_列转行

oracle中WMSYS.WM_CONCAT 函数关系的列出现乱码