gpt4 book ai didi

sql - 在 Sql 中从 XML 中提取数据的 SUM

转载 作者:数据小太阳 更新时间:2023-10-29 01:56:46 29 4
gpt4 key购买 nike

我在 SQL 表中有一个像这样的 XML 字段

<Root>
<Name>Apollo</Name>
<Code>1000</Code>
<Code>2000</Code>
<Code>3000</Code>
</Root>

我需要编写一个 SQL 查询来选择“名称”和“代码”值的总和

SELECT 
T1.c.value('Name[1] AS VARCHAR(100)') AS Name,
T1.c.value('Code[1] AS NUMERIC(10,5)') AS TotalCode
FROM TableName
CROSS APPLY xmlField.nodes('Root') AS T1(c)

它给我这样的输出:

Name                Code
---------------------------
Apollo 1000
Apollo 2000
Apollo 3000

但我需要像这样的所有代码标签的值的总和:

Name                Code
---------------------------
Apollo 6000

关于如何获取标签值总和的任何想法?

最佳答案

这不是最“优雅”的,我相信还有更直接的路线,但你可以试试这个

Select
B.Name,
SUM(B.TotalCode)
FROM
(
SELECT
T1.c.value('Name[1]', 'VARCHAR(100)') AS Name,
T1.c.value('Code[1]', 'NUMERIC(10,5)') AS TotalCode
FROM TableName
CROSS APPLY xmlField.nodes('Root') AS T1(c)
) AS B
GROUP BY Name

基本上这首先从 XML 字段项中提取数据,然后按名称分组并给出总和。就像我说的,不优雅但有效!

关于sql - 在 Sql 中从 XML 中提取数据的 SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6786687/

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