listagg
  • 6 julio 2018
  • Enrique Flores
  • 1

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.

LISTAGG

 

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.

1 comment on “LISTAGG

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.