SQL:如何将 SQL 列的值作为过滤器传递给 XML 并从 XML 中获取数据

问题描述

问题: 我想检索某个标签的值,该标签与 XML 中同一组中另一个标签的最大值相关。 例如在下面的 XML 中,我想检索 Tag2a 的值以获得整个 XML 中 Tag2b 的最大值。这需要使用 sql 检索。当尝试使用以下空值时,将作为 OUTPUT 返回。

我正在尝试什么:

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>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...