Concatenar consultas en un campo SQL

Facebook
Twitter
LinkedIn
WhatsApp
Concatenar consultas en un campo SQL

Table of Contents

Los casos prácticos para concatenar consultas en un campo SQL es agrupar categorías de productos, correos de electrónicos o un ranking de los productos más vendidos. Y todo esto en una sola línea y separado por comas. Te voy a enseñar cómo hacerlo en 3 sencillos pasos.

Pasos cómo concatenar consultas:

Paso 1. Preparamos nuestra consulta SQL

Lo primero que vamos a hacer es preparar la consulta SQL. Vamos a filtras unos productos por la categoría «Frutas«. Os muestro un ejemplo:

SELECT id,nombre,tipo,precio
FROM productos
WHERE tipo = 'Frutas'

Obtendremos una consulta como esta:

idnombretipoprecio
1567ManzanasFrutas0.51
4543Naranjas Frutas 3.60
6678Peras Frutas 2.60
3345Mangos Frutas 2.70
0034Kiwis Frutas 4.20

Paso 2. Convertir la consulta en XML

Existe una característica integrada SQL Server que sirve para obtener resultados en formato XML. Se trata de FOR XML.

Vamos a unificar todas los nombres de las frutas. Para ello, vamos a añadir una coma ‘,’ antes del campo de «nombre» , y, al final de la consulta añadimos lo siguiente FOR XML PATH (»).

SELECT ','+nombre
FROM productos
WHERE tipo = 'Frutas'
FOR XML PATH ('')

Tendremos el siguiente resultado:

,Manzanas,Naranjas,Peras,Mangos,Kiwis

Paso 3. Quitamos la coma inicial

Ya tenemos casi los registros concatenados, nos falta quitar la coma del principio. Para librarnos de ella hay una función específica de T-SQL que se llama STUFF.

¿Qué hace STUFF? Elimina los caracteres que le indiquemos mediante parámetro y lo sustituye por lo que que queramos. En dos palabras, lo que hace es quitar y rellenar.

SELECT STUFF(
    (SELECT ','+nombre
    FROM productos
    WHERE tipo = 'Frutas'
    FOR XML PATH ('')
    ),1,2, '')

Y este sería nuestro resultado final:

Manzanas,Naranjas,Peras,Mangos,Kiwis

Si sigues todos los pasos correctos, paso por paso podrás concatenar consultas en un campo SQL al primer intento.

Si te ha gustado este artículo de concatenar consultas, te recomiendo que eches un vistazo al apartado de SQL, pueden servirte de gran utilidad 😉

Facebook
Twitter
LinkedIn

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio