#sql #xml #postgresql #xml-formatting
#sql #xml #postgresql #xml-форматирование
Вопрос:
У меня есть это в postgres:
copy (select xmlelement(name atccode, xmlattributes(secondary_label as code),
xmlelement(name description, secondary_label || ' - ' || label))
from study_subject where study_id=28 order by label)
to 'includes/output10.xml';
Это дает мне следующее в output10.xml файл:
<atccode code="6995">
<description>6995 - Atkins, Dian</description>
</atccode>
<atccode code="130">
<description>130 - Bailey, Howard H, MD</description>
</atccode>
Как я могу получить это:
<atclist>
<atccode code="6995">
<description>6995 - Atkins, Dian</description>
</atccode>
<atccode code="130">
<description>130 - Bailey, Howard H, MD</description>
</atccode>
</atclist>
Комментарии:
1.
select xmlelement(name atclist, xmlagg(xmlelement(name atccode, ...))) from ...
Ответ №1:
РЕШЕНИЕ:
COPY (SELECT xmlelement(name atclist, xmlagg(xmlelement(name atccode,
xmlattributes(description as code),
xmlelement(name description, description))))
FROM INVlist)
TO 'path/output12.xml';