Estoy seguro de que esto se ha preguntado, pero no puedo encontrar los términos de búsqueda correctos.Agregación de cadenas agrupadas/LISTAGG para SQL Server
dado un esquema como éste:
| 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 de esta manera:
| CarMakeID | CarMake | CarModels
---------------------------------------------
| 1 | SuperCars | Zoom, Wow, Awesome
| 2 | MehCars | Mediocrity, YoureSettling
¿Qué hago en lugar de 'AGG' para cuerdas en SQL Server en el 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
Wow no trivial. –
El artículo necesita una actualización: el CLR era para SQL Server 2005. 2008 admite múltiples parámetros en una función agregada, por lo que puede volver a crear los parámetros de GROUP_CONCAT de MySQL. –
@OMG Ponies: ¿puedes explicar más o vincular por favor? No estoy muy seguro de lo que quiere decir ... – gbn