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. Los campos obligatorios están marcados con *

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