Duplicar posible:
Is there a way to create a SQL Server function to “join” multiple rows from a subquery into a single delimited field?¿Cuál es el equivalente de String.Join en TSQL?
Hola a todos!
Estoy buscando una manera fácil de concatenar 'n' valores. Algo así como:
SELECT MyConcat(',', T.TextColumn)
FROM SomeTable AS T
WHERE T.SomeOtherColumn = SomeCondition
Así que si tengo una tabla como:
SomeTable:
Id | TextColumn | SomeOtherColumn
----+------------+----------------
1 | Qwerty | Y
2 | qwerty | N
3 | azerty | N
4 | Azerty | Y
El resultado sería algo como:
SQL:
SELECT MyConcat(';', T.TextColumn)
FROM SomeTable AS T
WHERE T.SomeOtherColumn = 'Y'
RESULT:
'Qwerty;Azerty'
he encontrado una solución mediante la creación de la siguiente función: CREAR FUNCIÓN [dbo]. [JoinTexts] ( @deli inglete VARCHAR (20), @whereClause VARCHAR (1) ) RETURNS VARCHAR (MAX) AS COMENZAR DECLARE @Texts VARCHAR (MAX) SELECT @Texts = COALESCE (@Texts + @delimiter, '') + T.Texto DE alguna_tabla AS T DONDE T.SomeOtherColumn = @whereClause RETURN @Texts FIN IR Uso: dbo.JoinTexts SELECT ('' 'y') – Gil