如何解决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 举报,一经查实,本站将立刻删除。