Bạn có thể làm điều này với tính năng tổng hợp có điều kiện:
select parentid
from tablename
group by parentid
having sum(case when datavalue = 1 then 1 else 0 end) > 0 and
sum(case when datavalue = 6 then 1 else 0 end) > 0
Một cách khác là sử dụng exists
:
select distinct parentid
from tablename t1
where exists(select * from tablename where parentid = t1.parentid and datavalue = 1) and
exists(select * from tablename where parentid = t1.parentid and datavalue = 6)
Một cách khác là đếm các lần xuất hiện riêng biệt:
select parentid
from tablename
where datavalue in(1, 6)
group by parentid
having count(distinct datavalue) = 2