@ जॉर्जेस मार्टिन के समाधान पर निर्माण, मैं पार्श्व जुड़ाव और समूह खंड का उपयोग नहीं करता, बल्कि केवल एक नेस्टेड सबक्वायरी का उपयोग करता हूं:
SELECT XMLELEMENT(
NAME "Company",
XMLATTRIBUTES(id AS id, field1 AS field),
(SELECT XMLAGG(
XMLELEMENT(
NAME "companyTag",
XMLATTRIBUTES(
attr.key AS "tagName",
attr.value AS "tagValue"
)
)
) FROM JSONB_EACH_TEXT(attributes) AS attr)
) FROM comp_emp;