1

问题:我想检索某个标签的值,该值与 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>
4

0 回答 0