La función STRING_AGG() en PostgreSQL es una función agregada que se usa para concatenar una lista de strings y colocar un separador entre ellas.
Syntax: STRING_AGG ( expression, separator [order_by_clause] )
Analicemos la sintaxis anterior. La función anterior acepta dos argumentos y una cláusula ORDER BY opcional.
expression
es cualquier expresión válida que pueda resolverse en una string de caracteres.separator
es el separador de strings concatenadas.
Ahora veamos algunos ejemplos. Para ejemplos, usaremos la base de datos de muestra (es decir, dvdrental ).
Ejemplo 1:
Consultaremos una lista de nombres de actores para cada película de la film
tabla usando el siguiente comando:
SELECT f.title, STRING_AGG ( a.first_name || ' ' || a.last_name, ', ' ORDER BY a.first_name, a.last_name ) actors FROM film f INNER JOIN film_actor fa USING (film_id) INNER JOIN actor a USING (actor_id) GROUP BY f.title;
Producción:
Ejemplo 2:
En este ejemplo, crearemos una lista de correo electrónico para cada país de la country
tabla. El correo electrónico en cada lista separado por un punto y coma. Para hacerlo, usamos el siguiente comando:
SELECT country, STRING_AGG (email, ';') email_list FROM customer INNER JOIN address USING (address_id) INNER JOIN city USING (city_id) INNER JOIN country USING (country_id) GROUP BY country ORDER BY country;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA