una separar separado por dividir delimitada consulta comas charindex caracter campo cadena buscar sql sql-server select aggregate-functions sql-server-group-concat

separar - split sql



Consulta SQL para obtener un resultado agregado en separadores de coma junto con un grupo por columna en SQL Server (2)

Solo para una vista equilibrada, también puedes hacer esto con un CTE pero no es tan bueno como el método de aplicar la cruz, no creo. He codificado esto del casco para disculpas si no funciona.

WITH CommaDelimitedCTE (RowNumber,ID,[Value],[Values]) AS ( SELECT 1,MT.ID , MIN(MT.Value), CAST(MIN(MT.Value) AS VARCHAR(8000)) FROM MyTable MT GROUP BY MT.ID UNION ALL SELECT CT.RowNumber + 1, MT.ID, MT.Value, CT.[Values] + '', '' + MT.Value FROM MyTable MT INNER JOIN CommaDelimitedCTE CT ON CT.ID = MT.ID WHERE MT.[Value] > CT.[Value] ) Select CommaDelimitedCTE.* from CommaDelimitedCTE INNER JOIN (SELECT MT.ID,MAX(RowNumber) as MaxRowNumber from CommaDelimitedCTE GROUP BY MT.ID) Q on Q.MT.ID = CommaDelimitedCTE.MT.ID AND Q.MaxRowNumber = CommaDelimitedCTE.RowNumber

Necesito escribir una consulta SQL en la tabla para que el resultado tenga el grupo por columna junto con la columna agregada con separadores de coma.

Mi mesa estaría en el siguiente formato

|`````````|````````| | ID | Value | |_________|________| | 1 | a | |_________|________| | 1 | b | |_________|________| | 2 | c | |_________|________|

El resultado esperado debe estar en el formato siguiente

|`````````|````````| | ID | Value | |_________|________| | 1 | a,b | |_________|________| | 2 | c | |_________|________|