【发布时间】:2011-10-10 19:55:12
【问题描述】:
我在这样的 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
任何想法如何获得标签值的总和?
【问题讨论】:
-
这绝不像标准 SQL。你用的是什么数据库系统?