Вопрос

Учитывая следующую переменную XML:

    declare @x xml
    select @x = '<Details>
<Description>
<Attributes>
   <Name>A</Name>
   <Values><RecordId>1</RecordId><RecordId>2</RecordId></Values>
</Attributes>
<Attributes>
    <Name>B</Name>
    <Values><RecordId>3</RecordId><RecordId>4</RecordId></Values>
</Attributes>
</Description>
</Details>'

Я пытаюсь получить все значения имени со всеми их записи. Я хотел бы сделать это в одном утверждении. У меня сейчас следующее.

create table #xml (element varchar(60))

insert into #xml
select RoleDetails.item.value('(Name)[1]', 'varchar(60)')
from 
  @x.nodes('/Details/Description/Attributes') AS RoleDetails(item)

Формат, который я ищу, будет:

A 1
  2

B 3
  4
Это было полезно?

Решение

Стало проще сохранить подмножество в формате XML и позволить коду сделать манипулирование XML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top