问题:我想检索某个标签的值,该值与 XML 中同一组中另一个标签的最大值相关。例如,在下面的 XML 中,我想在整个 XML 中检索 Tag2a 的值以获得 Tag2b 的最大值。这需要使用 SQL 检索。尝试使用以下空值时,将作为输出返回。
我正在尝试什么:
select
(SELECT xmP.peakKW FROM XMLTABLE('/xml'
passing xmltype('<xml>'||BO_DATA_AREA||'</xml>')
columns
peakT FLOAT path 'Tag1/Tag2[Tag2b = TEMP.peak]/Tag2a'
)xmT) AS OUTPUT
FROM (SELECT xmP.peakKW as peak FROM XMLTABLE('/xml'
passing xmltype('<xml>'||BO_DATA_AREA||'</xml>')
columns
peakA FLOAT path 'max(Tag1/Tag2/Tag2b)'
)xmP)TEMP;
如果有人能就如何解决这个问题提出建议,那就太好了。
XML 示例
<Tag1>
<Tag2>
<Tag2a>X</Tag2a>
<Tag2b>Y</Tag2b>
<Tag2c>Z</Tag2c>
</Tag2>
<Tag2>
<Tag2a>X</Tag2a>
<Tag2b>X</Tag2b>
<Tag2c>X</Tag2c>
</Tag2>
</Tag1>