У меня есть одна таблица с 2 столбцами в базе данных fls2, которая является Sqlite;
name | sha256
------------|------------------
ab/ac/ad | 12345
ab/ad/af | 12345
zx/ad/af | 12345
Я хотел бы найти имена, в которых 'name like' ab% 'и' name not like 'ab%' оба верны для определенного ша256. Таким образом, в приведенном выше случае 3 строки совместно используют sha256 из «12345», и я хотел бы рассмотреть этот набор данных. В этом наборе данных, если оба 'name like' ab% 'и' name not like 'ab%' истинны (очевидно, для 2 или более разных строк), я бы хотел, чтобы все строки возвращались.
Я занимаюсь поиском случаев, когда идентичный файл (идентифицируемый его sha256) присутствует в 2 разных каталогах верхнего уровня.
Я знаю, как сделать это в perl после извлечения данных, но в идеале, если бы я мог сделать это в БД, это было бы намного лучше. Я пытался
select name
from
fls2
where
sha256 = (select sha256 from fls2 where name like 'ab%')
and
name not like 'ab%';
Но он не возвращает никаких строк (и я знаю, что есть хотя бы несколько, потому что я нашел их вручную).