Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 数据库中的 XML » 在数据库中使用 XML » 使用 SQL/XML 以 XML 形式获取查询结果

 

使用 XMLAGG 函数

XMLAGG 函数用于从 XML 元素集合中生成 XML 元素林。XMLAGG 是一个集合函数,它会为查询中的所有行生成单一的 XML 集合结果。

在以下查询中,XMLAGG 用于为每行生成一个 <name> 元素,而 <name> 元素会按雇员姓名排序。指定 ORDER BY 子句是为了给 XML 元素排序:

SELECT XMLELEMENT( NAME Departments,
                   XMLATTRIBUTES ( DepartmentID ),
                   XMLAGG( XMLELEMENT( NAME name,
                             Surname )
                             ORDER BY Surname )
                  ) AS department_list
FROM Employees
GROUP BY DepartmentID
ORDER BY DepartmentID;

此查询会生成以下结果:

department_list
<Departments DepartmentID="100">
 <name>Breault</name>
 <name>Cobb</name>
 <name>Diaz</name>
 <name>Driscoll</name>
 ...
</Departments>
<Departments DepartmentID="200">
 <name>Chao</name>
 <name>Chin</name>
 <name>Clark</name>
 <name>Dill</name>
 ...
</Departments>
<Departments DepartmentID="300">
 <name>Bigelow</name>
 <name>Coe</name>
 <name>Coleman</name>
 <name>Davidson</name>
 ...
</Departments>
...

有关 XMLAGG 函数的详细信息,请参见XMLAGG 函数 [Aggregate]