Realizando o Group_Concat do MYSQL no SQL Server [duplicado]

Esta questão já tem uma resposta aqui:

Como concatenar texto de várias linhas em uma única cadeia de texto no SQL Server? 44 respostas

Eu estou portando um aplicativo que eu escrevi originalmente para rodar no Apache usando PHP e um banco de dados MySQL. Uma das consultas utilizou as funções do MySQLConcat_WS eGroup_Concat primeiro concatenar algumas colunas diferentes em uma string e, em seguida, concatenar todos os itens que foram agrupados peloGroup_By cláusula.

Como um exemplo:

ID    Name    Candy
1     John    M&Ms
1     John    KitKat

A pergunta:

Select Group_Concat(Concat_WS('-',Name, Candy) Separator '00--00') as UserCandy
From ExampleTable
Group By ID

O resultado:

UserCandy
John-M&Ms00--00John-KitKat

Agora, estou tentando realizar o mesmo resultado no SQL Server 2008 usando o PHP 5.4+.

O que eu tentei:

SELECT Stuff(name + ';' + candy, 1, 0, '-----') AS UserCandy 
FROM   test 

O problemapode ser visto no violino que eu tenho configuração.

O resultado esperado seria:

-----John;MMs-----John;KitKat

Por fim, isso se torna ainda mais difícil quando adiciono mais colunas à mixagem. Eu quero mesclar os resultados (como mostrado acima), onde o ID é o mesmo. Isso funciona muito bem comgroup_concat porque ele irá mesclar automaticamente as linhas que foram agrupadas.

questionAnswers(1)

yourAnswerToTheQuestion