Sql Oracle-允许另一个select配置LIKE子句

Sql Oracle-允许另一个select配置LIKE子句,sql,oracle,Sql,Oracle,在脚本中,我正在Oracle数据库上运行以下查询: select nvl(max(to_char(DATA.VALUE)), 'OK') from DATA where DATA.FILTER like (select DATA2.FILTER from DATA2 where DATA2.FILTER2 = 'WYZ') 在实际的脚本中,它有点复杂,但你明白了- DATA2.FILTER包含需要作为LIKE子句应用于数据的筛选器。这样做的目的是使其尽可能通用,这意味着它应该能够过滤: 过

在脚本中,我正在Oracle数据库上运行以下查询:

select nvl(max(to_char(DATA.VALUE)), 'OK') 
from DATA 
where DATA.FILTER like (select DATA2.FILTER from DATA2 where DATA2.FILTER2 = 'WYZ')
在实际的脚本中,它有点复杂,但你明白了-

DATA2.FILTER包含需要作为LIKE子句应用于数据的筛选器。这样做的目的是使其尽可能通用,这意味着它应该能够过滤:

过滤器% %滤器 FI%filter %过滤器% 将子句视为DATA.FILTER=从DATA2中选择DATA2.FILTER,其中DATA2.FILTER2='WYZ' 脚本运行的系统不允许为此类任务运行存储过程,我也不能让scrip在运行之前直接构建查询

无论需要提取什么数据,都必须通过一个查询完成

我已经尝试了许多在网上找到的解决方案,但无论我做什么,我似乎都错了

我做错了什么?

这一个

select nvl(max(to_char(DATA.VALUE)), 'OK') 
from DATA 
   JOIN DATA2 on DATA.FILTER LIKE DATA2.FILTER 
where DATA2.FILTER2 = 'WYZ'

注意:此查询的性能不是最佳的,因为对于表数据,Oracle将始终执行完整的表扫描-但它可以工作。

您遇到的问题是什么?只有当查询返回我要查找的实际值时,我才会得到结果。。。我不能让它和通配符一起工作,它是。您使用的哪些值不起作用?我以字符串形式直接传递了筛选器%。如果您可以修改我创建的SQLFIDLE以显示问题,我可能会提供帮助。性能是一个问题。。。。我会试试这个,但默认情况下,至少有一个表是巨大的