2011-01-10 2 views
0

Я получил это в поле XML в SQL SERVER 2005Как преобразовать это поле xml в таблицу?

<Details> 
    <Attribute Type="org">6800</Attribute> 
    <Attribute Type="fac">100</Attribute> 
    <Attribute Type="fac">200</Attribute> 
</Details> 

что бы синтаксис для преобразования этого в таблицу, как этот

col_Type col_value 
    org  6800 
    fac  100 
    fac  200 

В настоящее время я застрял с одноплодной ошибки во время написание мой запрос

+0

Как вы пытаетесь осуществить эту трансформацию? Можете ли вы опубликовать свой текущий код и указать на проблемы и сбои? – Oded

ответ

2

нашел, как сделать это

если кто-то хочет знать, как:

declare @XmlContent xml 

    set @XmlContent = '<Details> 
     <Attribute Type="org">6800</Attribute> 
     <Attribute Type="fac">100</Attribute> 
     <Attribute Type="fac">200</Attribute> 
    </Details>' 

    SELECT 
      Details.Attribute.value('(@Type)[1]', 'varchar(10)') AS 'Type', 
      Details.Attribute.value('(.)[1]', 'int') AS 'Value' 
      FROM 
      @XmlContent.nodes('/Details/Attribute') AS Details(Attribute)