Sql PIVOT e agregação de concatenação de string
Eu gostaria de usar uma consulta SQL dinâmica para construir uma tabela de resultados onde o texto de concatenação como resultado dentro da seção DATA da tabela dinâmica.
ou seja, eu tenho o seguinte resultado de usar uma seleção simples:
+------------+-----------------+---------------+ | Event Name | Resource Type | Resource Name | +------------+-----------------+---------------+ | Event 1 | Resource Type 1 | Resource 1 | | Event 1 | Resource Type 1 | Resource 2 | | Event 1 | Resource Type 2 | Resource 3 | | Event 1 | Resource Type 2 | Resource 4 | | Event 1 | Resource Type 3 | Resource 5 | | Event 1 | Resource Type 3 | Resource 6 | | Event 1 | Resource Type 3 | Resource 7 | | Event 1 | Resource Type 4 | Resource 8 | | Event 2 | Resource Type 5 | Resource 1 | | Event 2 | Resource Type 2 | Resource 3 | | Event 2 | Resource Type 3 | Resource 11 | | Event 2 | Resource Type 3 | Resource 12 | | Event 2 | Resource Type 3 | Resource 13 | | Event 2 | Resource Type 4 | Resource 14 | | Event 2 | Resource Type 5 | Resource 9 | | Event 2 | Resource Type 5 | Resource 16 | +------------+-----------------+---------------+
E gostaria de construir uma consulta de resultados que se pareça com isso:
+---------------------+------------------------+------------------------+---------------------------------------+-----------------+-------------------------------------+ | Event/Resource Type | Resource Type 1 | Resource Type 2 | Resource Type 3 | Resource Type 4 | Resource Type 5 | +---------------------+------------------------+------------------------+---------------------------------------+-----------------+-------------------------------------+ | Event 1 | Resource 1, Resource 2 | Resource 3, Resource 4 | Resource 5, Resource 6, Resource 7 | Resource 8 | NULL | | Event 2 | NULL | Resource 3 | Resource 11, Resource 12, Resource 13 | Resource 14 | Resource 1, Resource 9, Resource 16 | +---------------------+------------------------+------------------------+---------------------------------------+-----------------+-------------------------------------+
Eu sei como usar uma instrução PIVOT em ms-sql, mas eu não sei como agregar o nome do recurso em uma concatenação de itens separados por vírgula para cada tipo de recurso.
P.S Eu também poderia usar uma solução usando o Martix fornecido pelo SSRS 2008-R2 usando o Report Builde 3 com a primeira tabela como meu conjunto de dados e criar uma matriz que agregaria os nomes dos recursos em uma string separada por vírgulas.