
LISTAGG
La función Oracle / PLSQL LISTAGG concatena valores de measure_column para cada GROUP en función de order_by_clause.
Parámetros
- measure_column
- Concatena los valores en una sola fila, los valores nulos serán ignorados.
- delimiter
- Es opcional e indica si quieres separar los valores por coma o por algún carácter.
- order_by_clause
- Determina el ordenamiento de los campos.
Ejemplo
Crear tabla EMP
CREATE TABLE "EMP" ( "EMPNO" NUMBER(4,0) NOT NULL ENABLE, "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), PRIMARY KEY ("EMPNO") ) /
Vamos a agrupar todos los empleados en una sola fila agrupado por nombre puesto.
SELECT JOB, LISTAGG(ENAME, ', ') WITHIN GROUP (ORDER BY ENAME) AS NAME from EMP GROUP BY JOB;
Documentación
https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030
Espero te sirva esta información, si es así, no olvides darle clic a los anuncios que aparecen en el blog.
Si tienes una duda o comentarios por favor házmelo saber, me ayudaría muchísimo para poder crear más entradas.
Gracias