请考虑以下 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,但无济于事。 任何帮助将不胜感激!
哇,不知道为什么我以前想不通。 请参阅下面的代码:
select T.data.value('@Type', 'varchar(20)'),
T.data.value('.', 'varchar(20)')
from @data.nodes('Orders/Totals/Total') T(data)