una stuff string_agg reconocido recognized not nombre name integrada group_concat funciĆ³n caracteres cadena built agregar sql sql-server aggregate-functions

stuff - string_agg sql server 2008



AgregaciĆ³n de cadenas agrupadas/LISTAGG para SQL Server (2)

Estoy seguro de que me han preguntado esto pero no puedo encontrar los términos de búsqueda adecuados.

Dado un esquema como este:

| CarMakeID | CarMake ------------------------ | 1 | SuperCars | 2 | MehCars | CarMakeID | CarModelID | CarModel ----------------------------------------- | 1 | 1 | Zoom | 2 | 1 | Wow | 3 | 1 | Awesome | 4 | 2 | Mediocrity | 5 | 2 | YoureSettling

Quiero producir un conjunto de datos como este:

| CarMakeID | CarMake | CarModels --------------------------------------------- | 1 | SuperCars | Zoom, Wow, Awesome | 2 | MehCars | Mediocrity, YoureSettling

¿Qué hago en lugar de ''AGG'' para cadenas en SQL Server en la siguiente consulta de estilo?

SELECT *, (SELECT AGG(CarModel) FROM CarModels model WHERE model.CarMakeID = make.CarMakeID GROUP BY make.CarMakeID) as CarMakes FROM CarMakes make


Si es SQL Server 2017 o SQL Server VNext, la base de datos SQL de Azure puede usar String_agg como se muestra a continuación:

SELECT make.CarMakeId, make.CarMake, CarModels = string_agg(model.CarModel, '', '') FROM CarModels model INNER JOIN CarMakes make ON model.CarMakeId = make.CarMakeId GROUP BY make.CarMakeId, make.CarMake

Salida:

+-----------+-----------+---------------------------+ | CarMakeId | CarMake | CarModels | +-----------+-----------+---------------------------+ | 1 | SuperCars | Zoom, Wow, Awesome | | 2 | MehCars | Mediocrity, YoureSettling | +-----------+-----------+---------------------------+


http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/

Es un problema interesante en Transact SQL, para el cual hay una serie de soluciones y un debate considerable. ¿Cómo se hace para producir un resultado resumido en el que una columna de distinción de cada fila en cada categoría particular aparece en una columna "agregada"? Una forma sencilla e intuitiva de mostrar datos es sorprendentemente difícil de lograr. Anith Sen ofrece un resumen de diferentes maneras y ofrece palabras de precaución sobre la que usted elige ...