1
我在其中存储一个或多个值之内它是节点的表有一个简单的XML领域:T-SQL - 转换/移调多个XML节点值一列
<MultiSelect>
<ItemKey>38</ItemKey>
<ItemKey>36</ItemKey>
</MultiSelect>
如何在查询该领域这样的方式,这些值被提取到结果中的列?
源数据:
RowKey Format
-----------------
1 <MultiSelect><ItemKey>40</ItemKey></MultiSelect>
2 <MultiSelect><ItemKey>40</ItemKey><ItemKey>36</ItemKey></MultiSelect>
瞄准了结果:
RowKey ItemKey
----------------
1 40
2 40
2 36
我有接近的地方,我想用下面的查询,但是这仅仅是返回XML节点的名称而不是其中的值:
SELECT
[RowKey],
x.y.value('local-name(.)', 'varchar(max)') AS ItemKey
FROM
[tbl_MyDataTable] AS t
cross apply t.[Format].nodes('MultiSelect/ItemKey') x(y)
结果:
RowKey ItemKey
----------------
1 ItemKey
2 ItemKey
2 ItemKey
任何建议greatfully收到!
完美!非常感谢 - 你是明星! – triplestones