我想將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解釋和示例的好資源?
不錯,謝謝! –