リファレンスガイド> SQL関数のTDVサポート> 集計関数> XMLAGG
 
XMLAGG
XML集計関数XMLAGGは列で機能します。この関数は、他の集計関数が有効な場合に有効です。
この関数は1つの引数を受け入れます。この引数は、GROUP BY句が指定されている場合、その句で指定されたグループ全体で集計されます。
構文
XMLAGG ( <XML_value_expression>
[ ORDER BY <sort_specification_list> ]
[ <XML_returning_clause> ]
)
備考
集計は、XML集計関数に固有のORDER BY句を使用して並べ替えることができます。これは、SELECT ORDER BY句とは無関係です。
引数がNULLと評価された場合、結果はNULLになります。
例(ORDER BYなし)
SELECT CAST (XMLAGG (XMLELEMENT (name Name, ContactLastName))
AS VARCHAR(10000)) "Last Name"
FROM /shared/examples/ds_orders/customers CUSTOMER
WHERE CustomerID < 23
例(ORDER BYを使用)
SELECT XMLAGG ((XMLELEMENT(name Details,
XMLATTRIBUTES (ProductID as product),
XMLELEMENT (name orderno, OrderID),
XMLELEMENT (name status, Status),
XMLELEMENT (name price, UnitPrice)))
ORDER BY ProductID ASC, Status ASC, OrderID DESC, UnitPrice ASC)
myOutput
FROM /shared/examples/ds_orders/orderdetails
WHERE ProductID < 20