SQL PIVOT und String-Verkettung aggregieren

Ich möchte eine Pivot-SQL-Abfrage verwenden, um eine Ergebnistabelle zu erstellen, in der der Text als Ergebnis im DATA-Abschnitt der Pivot-Tabelle verkettet wird.

Das heißt, ich habe das folgende Ergebnis aus der Verwendung einer einfachen Auswahl:

+------------+-----------------+---------------+
| 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   |
+------------+-----------------+---------------+

Und ich möchte eine Ergebnisabfrage erstellen, die so aussieht:

+---------------------+------------------------+------------------------+---------------------------------------+-----------------+-------------------------------------+
| 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 |
+---------------------+------------------------+------------------------+---------------------------------------+-----------------+-------------------------------------+

Ich kann eine PIVOT-Anweisung in ms-sql verwenden, aber ich kann den Ressourcennamen nicht zu einer Verkettung von durch Kommas getrennten Elementen für jeden Ressourcentyp zusammenfassen.

PS: Ich könnte auch eine Lösung mit dem von SSRS 2008-R2 bereitgestellten Martix verwenden, indem ich Report Builde 3 mit der ersten Tabelle als Datensatz verwende und eine Matrix erstelle, die die Ressourcennamen in einer durch Kommas getrennten Zeichenfolge zusammenfasst.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage