Я пытаюсь объединить значения для группы в один XML. Я на SQL Server 2016.
Мои необработанные данные выглядят следующим образом (здесь мы строго ограничены проблемой. Мои реальные значения не являются обобщенными c.):
create table #data (group_id int, value1 char(10), value2 char(10), value3 char(10));
insert #data values
(1,'a1', 'b1', 'c1'),
(1,'a2', 'b2', 'c2'),
(1,'a3', 'b3', 'c3'),
(2,'a4', 'b4', 'c4');
Я ищу агрегатную функцию, которая бы возвращала одну XML (на группу)
select
group_id,
**my_XML_aggregation** as [XML-values]
from #data
group by group_id
Ожидаемый результат XML для первой группы (group_id = 1) должен выглядеть (имена элементы не имеют отношения к проблеме)
<group>
<row>
<value1>a1<value1>
<value2>b1<value1>
<value3>c1<value1>
</row>
<row>
<value1>a2<value1>
<value2>b2<value1>
<value3>c2<value1>
</row>
<row>
<value1>a3<value1>
<value2>b3<value1>
<value3>c3<value1>
</row>
</group>
Я знаю, как агрегировать разделенную шаблоном строку. Это не сделало бы работу. Даже поместить агрегированную по шаблону строку в один элемент XML нет альтернативы. Я ищу структурированную информацию в XML.