我正在使用旧应用程序上的 oracle 数据库,并且无法为其提出特定查询。
基本上我有一个带有数字列(主键)和 xmltype 列的表 T_Selected。XML 的格式为
<countries>
<country>England</country>
<country>Ireland</country>
<country>Scotland</country>
<country>Wales</country>
</countries>
我还有另一个表需要查询并使用结果
select country from T_Countries where language = 'English'
我需要三个查询及其否定。
xml ∈ 子查询中的所有国家
子查询 ∈ xml 中的所有国家
xml 中的所有国家 = 所有子查询
我得到的最接近的是
select id from
T_Selected ts,
XMLTABLE('/countries/country'
passing ts.Values
columns
Country path '//country'
) XML
where XML.country in (select country from T_Countries
where language ='English');
这将返回子查询中任何 xml 国家/地区的 ID,而不是所有国家/地区的 ID。
关于我如何解决这个问题的任何想法?
谢谢您的帮助,
尼尔