我正在尝试将多个元素值返回到行中,并且遇到了以下问题,即它没有返回行中的所有实例,我已将问题隔离为单例问题。我参考了以下链接:
http://www.jasonstrate.com/2010/11/xquery-for-the-non-expert-value/
http://msdn.microsoft.com/en-us/library/ms175894.aspx
我试过这些:
,c.value('(Tags/Tag/text())[1]' , 'NVARCHAR(20)') AS Tag
和
,c.value('(//Tags/Tag)[1]' , 'NVARCHAR(20)') AS Tag
我用它来测试它是否会返回第一个和第二个实例并且确实如此,但我希望它作为单独的行返回。所以两行而不是两列
,c.value('(Tags/Tag)[1]' , 'NVARCHAR(20)') AS Tag
,c.value('(Tags/Tag)[2]' , 'NVARCHAR(20)') AS Tag2
这是xml的快照
<nsp:Tags>
<nsp:Tag>Books</nsp:Tag>
<nsp:Tag>Reading</nsp:Tag>
</nsp:Tags>
编辑我能够得到它
C.value('.', 'nvarchar(20)')
但是有没有办法通过将路径留在值选择中来实现同样的事情,或者我是否将其保留在应用中?