2

考虑以下 XML 片段:

<Orders>
  <Totals>
     <Total Type="Merchandise">56.89</Total>
     <Total Type="Shipping">10.75</Total>
     <Total Type="Tax">0.00</Total>
     <Total Type="Order">67.64</Total>
     <Total Type="Discount">0.00</Total>
     <Total Type="ServiceFee">0.00</Total>
     <Total Type="ServiceFeeDiscount">0.00</Total>
  </Totals>  
</Orders>

我想(使用 SQL 内置的 XQuery/XPath 支持),将 Type 属性和每个 Total 的值分解到它自己的列中,并将每个元素的内部值分解到它自己的列中,如下所示:

    Type           Amount  
Merchandise        56.89  
  Shipping         10.75  
     Tax            0.00  

我已经使用了我所知道的所有 XQuery 和 XPath,但无济于事。任何帮助将不胜感激!

4

1 回答 1

1

哇,不知道为什么我以前无法弄清楚这一点。请参见下面的代码:

select T.data.value('@Type', 'varchar(20)'),
   T.data.value('.', 'varchar(20)')
from @data.nodes('Orders/Totals/Total') T(data)
于 2012-06-08T19:29:35.633 回答