Digamos que eu tenha uma tabela de employees
, assim:
Name Sex Role
Bob M Developer
Joe M QA
Agora, tenho um problema com linhas duplicadas nesta tabela. Vou corrigi-lo em algum momento, mas não é o problema. O que eu preciso atualmente é algo que consulte essa tabela:
Name Sex Role
Bob M Developer
Bob M Janitor
Joe M QA
Joe M CEO
E produzirá as seguintes linhas:
Name Role
Bob Developer, Janitor
Joe QA, CEO
Não importa para mim se o "Papel" será dividido em colunas separadas ou uma única coluna com vários valores.
Usando o SQL Server 2008, se for importante.
Group_concat como no MySQL não está disponível no SQL Server até o SQL Server 2016. O vNext apresentará,
STRING_AGG
no entanto, que fornece funcionalidade equivalente.Você tem algumas opções manuais:
Uma solução para o seu caso atual (apenas pegou a resposta de Brad do SO e customizou para sua tabela) seria:
Esses detalhes são coletados de diferentes fontes:
Eu tentaria com o seguinte, mas esteja ciente de que isso pode ser executado por um bom tempo em mesas muito grandes.
Chamei a tabela de "funcionários" e as colunas de "nome" e "função".