SQL Server: двухуровневый GROUP BY с выводом XML
У меня есть таблица иерархических данных, которые я пытаюсь выбрать как одно сгруппированное значение XML:
Колонки:Id, Type, SubType, SubSubType
Пример данных:
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
Для приведенных выше данных я хотел бы вывести следующий xml:
<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>
то есть единственная структура xml, содержащая все строки из вышеприведенной таблицы, сгруппированные по первому столбцу (Type) и далее сгруппированные по второму столбцу (SubType).