我是一个数据库表fls2中有2列的表,它是Sqlite;
name | sha256
------------|------------------
ab/ac/ad | 12345
ab/ad/af | 12345
zx/ad/af | 12345
我想找到名称,其中'shad'的'name'如'ab%'和'name不如'ab%'都是正确的。因此,在上述情况下,三行共享的sha256为'12345',我想考虑一个子数据集。在该数据集中,如果'name like'ab%'和'name not like'ab%'都是正确的(显然对于2个或更多不同的行),我希望返回所有行。
我正在做的是寻找在2个不同的顶级目录中存在相同文件(由sha256标识)的情况。
我知道在获取数据后如何在perl中执行此操作,但理想情况下,如果我可以在数据库中执行此操作,那就更好了。我已经尝试过
select name
from
fls2
where
sha256 = (select sha256 from fls2 where name like 'ab%')
and
name not like 'ab%';
但是它不返回任何行(而且我知道至少有几行是因为我手动找到了它们。)]
我有一个表,该表在SQLite数据库fls2中有2列;名称| sha256 ------------ | ------------------ ab / ac / ad | 12345 Ab / ad / af | 12345 zx / ad / af | 12345我会...
使用聚合和having
:
使用EXISTS
:
在该数据集中,如果'name'like'ab%'和'name not like'ab%'都是正确的(显然对于2个或更多不同的行,我希望返回所有行。