SQL Server: Zweistufiges GROUP BY mit XML-Ausgabe

Ich habe eine Tabelle mit hierarchischen Daten, die ich als einzelnen, gruppierten XML-Wert auswählen möchte:

Säulen:Id, Type, SubType, SubSubType

Beispieldaten:

Id  Type                    Subtype                    SubSubType
1   Product Documentation   Brochures                  Functional Brochures
2   Product Documentation   Brochures                  Fliers
3   Product Documentation   Data Sheets and Catalogs   Data Sheets
4   Product Documentation   Data Sheets and Catalogs   Catalogs
5   Other Documentation     Other classification       User Guides

Für die obigen Daten möchte ich folgende XML ausgeben:

<AllTypes>
    <Type name="Product Documentation">
        <SubType name="Brochures">
            <SubSubType name="Functional Brochures"/>
            <SubSubType name="Fliers"/>
        </SubType>
        <SubType name="Data Sheets and Catalogs">
            <SubSubType name="Data Sheets"/>
            <SubSubType name="Catalogs"/>
        </SubType>
    </Type>
    <Type name="Other Documentation">
        <SubType name="Other classification">
            <SubSubType name="User Guides"/>
        </SubType>
    </Type>
</AllTypes>

eine einzelne XML-Struktur, die alle Zeilen aus der obigen Tabelle enthält, gruppiert nach der ersten Spalte (Typ) und weiter gruppiert nach der zweiten Spalte (Untertyp).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage