gpt4 book ai didi

sql - 使用 SQL + XQuery 将 XML 转换为基于列的数据

转载 作者:行者123 更新时间:2023-12-03 16:06:30 25 4
gpt4 key购买 nike

我的 xml 类型列中有以下 xml(xml 本身没有类型)

<wi>
<w wid="16">
<p>28</p>
<p>72</p>
<p>125</p>
</w>
<w wid="19">
<p>89</p>
</w>
<w wid="20">
<p>11</p>
</w>
<w wid="21">
<p>74</p>
</w>
</wi>

不知道如何使用 SQL+XQuery 生成两列:
 p    w
--- ---
11 20
28 16
72 16
74 21
89 19
125 16

最佳答案

利用:

declare @x xml = '<wi>
<w wid="16">
<p>28</p>
<p>72</p>
<p>125</p>
</w>
<w wid="19">
<p>89</p>
</w>
<w wid="20">
<p>11</p>
</w>
<w wid="21">
<p>74</p>
</w>
</wi>'

select *
from
(
select t.c.value('.', 'int') p
, t.c.value('../@wid', 'int') w
from @x.nodes('//p') t(c)
)t
order by p, w

关于sql - 使用 SQL + XQuery 将 XML 转换为基于列的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597319/

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