SQL LIKE 子句中的查询 - ORACLE

SQL Query in LIKE Clause - ORACLE

我有一个包含数值的列 table - STORE

STORE
5546
7453

我有另一个 table 有 2 列 - ERROR_LOG

ID ERROR
1  Error matching the 5546 transfer zone 
2  Error matching the 7453 supplier

我想检查商店 table 中的值是否存在于 ERROR_LOG table 的错误列中。

有没有办法将 sql 查询放在 LIKE 子句中?还是只能一个一个匹配?

类似于:

select *
from ERROR_LOG EL
join STORE SS
on EL.ERROR like '%' || SS.STORE ||'%'

我强烈建议您在两边都包含分隔符:

select *
from ERROR_LOG EL join
     STORE SS
     on ' ' || EL.ERROR || ' ' like '% ' || SS.STORE || ' %'

如果您的错误代码不总是四位数,那么它们可能会相互混淆。它们也可能与字符串中的其他值混淆,例如日期。