Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Из XML в табличную форму  [new]
GreenAdmin
Guest
Доброго времени суток!

Подскажите пожалуйста, как правильно написать выборку данных из XML?

<DOC DocName="Документ 1">
      <Item>
        <Model Code = "1"/>
        <Product Code = "2"/>
      </Item>
      <Item>
        <Model Code = "3"/>
        <Product Code = "4"/>
      </Item>
</DOC>


Необходимо получить данные в следующем виде:

DocName | Model Code | Product Code

Документ 1 | 1 | 2
Документ 1 | 3 | 4
27 янв 12, 13:55    [11983072]     Ответить | Цитировать Сообщить модератору
 Re: Из XML в табличную форму  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
GreenAdmin,
Что-то типа
declare @xml xml;
set @xml  ='<DOC DocName="Документ 1">
      <Item>
        <Model Code = "1"/>
        <Product Code = "2"/>
      </Item>
      <Item>
        <Model Code = "3"/>
        <Product Code = "4"/>
      </Item>
</DOC>'

select d.n.value('@DocName[1]','varchar(50)') as DocName
,i.i.value('(./Model/@Code)[1]','int') as [Model Code]
,i.i.value('(./Product/@Code)[1]','int') as [Product Code]
from @xml.nodes('DOC') d(n)
cross apply d.n.nodes('./Item') i(i)
27 янв 12, 14:08    [11983229]     Ответить | Цитировать Сообщить модератору
 Re: Из XML в табличную форму  [new]
GreenAdmin
Guest
denis2710,

спасибо!
27 янв 12, 14:30    [11983480]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить