gpt4 book ai didi

sql-server - 如何在 SQL XPath 中获取子节点值和父节点值

转载 作者:数据小太阳 更新时间:2023-10-29 02:30:40 26 4
gpt4 key购买 nike

我的数据(传递到存储过程中的参数 (@Data XML))如下所示:

<Records>
<Record id="1">
<Data>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
</Data>
<Result>
<StatusId>3</StatusId>
<ErrorCodes>
<Item>4</Item>
<Item>23</Item>
<Item>19</Item>
</ErrorCodes>
</Result>
</Record>
<Record id="2">
<Data>
<FirstName>Fred</FirstName>
<LastName>Blog</LastName>
</Data>
<Result>
<StatusId>2</StatusId>
<ErrorCodes>
<Item>1</Item>
<Item>3</Item>
</ErrorCodes>
</Result>
</Record>
</Records>

我想选择记录 ID 和错误代码,如下所示:

id    Item
----------
1 4
1 23
1 19
2 1
2 3

数据的顺序无关紧要。

以下是错误代码,但不是记录 ID:

SELECT Data.value('.', 'int') as ErrorCode
FROM @Data.nodes('/Records/Record/Result/ErrorCodes/*') AS data(Data)

最佳答案

这个表达式应该让你成为父元素的父元素:

Data.query('../../..')

...所以尝试这样的事情(未经测试)...

SELECT
id = Data.value('../../../@id', 'int'),
item = Data.value('.', 'int')
FROM @Data.nodes('/Records/Record/Result/ErrorCodes/*') AS data(Data)

关于sql-server - 如何在 SQL XPath 中获取子节点值和父节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19585992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com