Converter registros de uma coluna em uma lista
Para converter o conteúdo de uma coluna com vários registros em uma lista, usamos a função STUFF. Ela é simples, mas seu resultado é poderoso.
Vamos usar o BD AdventureWorks para montar um exemplo:
Ao executar a consulta, temos o resultado esperado:
E para quem está trabalhando com o SQL Server 2017 e posterior(es), podemos usar a função
STRING_AGG(expressão,separador)
Uma diferença interessante entre STRING_AGG e STUFF, é que STRING_AGG tem um limite de 8.000 caracteres no resultado retornado. Já STUFF não tem essa limitação.
Por isso que, no SELECT anterior, eu filtrei por 2 cores que possuem poucos produtos.
Quero agradecer ao José Diz, que me lembrou da função STRING_AGG! Valeu!!!