Gurus, У меня есть значение столбца XML, как показано ниже в SQL 2012SQL Server - преобразовать XML-столбец в строку с разделителями
'<XMLDoc>
<AAA>
<Name>Name_A</Name>
<Value>Val_A</Value>
</AAA>
<AAA>
<Name>Name_B</Name>
<Value>Val_B</Value>
</AAA>
<AAA>
<Name>Name_C</Name>
<Value>Val_C</Value>
</AAA>
<AAA>
<Name>Name_D</Name>
<Value>Val_D</Value>
</AAA>
<AAA>
<Name>Name_E</Name>
<Value>Val_E</Value>
</AAA>
:
:
<AAA>
<Name>Name_Z</Name>
<Value>Val_Z</Value>
</AAA>
</XMLDoc>'
Мы имеем требование хранить первые 2 узлов в отдельных столбцах, а остальные узлы (длина может от 0 до n) в виде разделительной строки в третьем столбце.
Я попытался SQL, как показано ниже, нужна помощь, чтобы заполнить 3-ю колонку
SELECT Col1 = Col.value('(/AAA/Value)[1]', 'varchar(255)') ,
Col2 = Col.value('(/AAA/Value)[2]', 'varchar(255)')
FROM table
Нам нужен выход, как
Col1 Col2 Col3
Val_A Val_B Val_c,Val_D,Val_E....Val_n