给定表y中的XML数据类型列x,其值为:
<a>
<b>
<c>1</c>
<c>2</c>
<c>3</c>
</b>
</a>
如何使用T-SQL XQuery获取结果集,以便每个<c>
元素值返回一行?
假设表y也有列z,其中包含x列中<c>
元素的数量 - 只是为了让我们有一个额外的列返回。
迄今为止我们能想到的最好的是:
select
z,
cvalues = x.query('data(a/b/c)')
from y
但是上面会在y中每行返回一行,并且在列cvalues中的<c>
元素的值的空格分隔列表中。
我们如何获得结果集,例如:
z cvalues
3 1
3 2
3 3
而不是我们现在得到的:
z cvalues
3 1 2 3
谢谢!
答案 0 :(得分:3)