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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » XML in der Datenbank benutzen » SQL/XML verwenden, um Abfrageergebnisse als XML zu erhalten

 

Die XMLAGG-Funktion verwenden

Die XMLAGG-Funktion wird verwendet, um verzweigte Baumstrukturen (Wald) von XML-Elementen aus einer Sammlung von XML-Elementen zu erzeugen. XMLAGG ist eine Aggregatfunktion und erzeugt ein einzelnes zusammengesetztes XML-Ergebnis für alle Zeilen in der Abfrage.

In der folgenden Abfrage wird XMLAGG verwendet, um ein <name>-Element für jede Zeile zu generieren, wobei die <name>-Elemente anhand des Mitarbeiternamens gereiht werden. Die ORDER BY-Klausel wird angegeben, um die XML-Elemente zu reihen:

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;

Diese Abfrage erzeugt das folgende Ergebnis:

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>
...

Weitere Hinweise zur XMLAGG-Funktion finden Sie unter XMLAGG-Funktion [Aggregat].