我想将XML字段拆分为多列数据集。 XML看起来像:T-SQL将XML字段转换为多列数据集
<simple>
<propertyid>
<value>p1</value>
<value>p2</value>
<value>p3</value>
<value>p4</value>
</propertyid>
<complexid>
<value>c1</value>
<value>c2</value>
<value>c3</value>
</complexid>
</simple>
我试图做这样的事情(每次我使用XML在TSQL我觉得butthurt时间,所以我的代码是错误的):
;WITH source AS (
SELECT CAST(@xmlstring AS XML) AS x
)
SELECT
items.item.query('.')
FROM source
CROSS APPLY x.nodes('/simple/*/value') AS items(item)
预期的数据集:
ColumnName Value
------------------------
propertyid p1
propertyid p2
propertyid p3
propertyid p4
complexid c1
complexid c2
complexid c3
我如何获得所需的结果? 也许你可以推荐使用T-SQL + XML + XQuery解释和示例的好资源?
不错,谢谢! –