mysql,其中一列不包含具有另一列值的正则表达式



我有下表,我需要查找字符串中resource_path不包含code的所有行。

id | code | resource_path
1   abc01    /this/is/path/to/resource/abc01/xyz.jpg
2   abc02    /this/is/path/to/resource/abc02/xyz.png
3   abc02    /this/is/path/to/resource/xyz.png 

我已经尝试了以下查询

SELECT * FROM aTable WHERE resource NOT IN (select code from aTable) ORDER BY id DESC LIMIT 10;

但这会返回所有内容。提前谢谢。

SELECT * FROM aTable where resource_path not like concat('%', code, '%');

@Agnello Dsouza答案很棒。我把它放在小提琴里,增加了另一个选项,因为它可能会给你更好的表现:

SELECT * FROM aTable where INSTR(resource_path,code) = 0;

最新更新