返回具有所有相关值列表的ID

Rob*_*sky 1 mysql sql

我有2列的表....

id    id2
1      1
1      2 
1      3 
2      1
2      2
2      4
3      2
3      3
3      4
Run Code Online (Sandbox Code Playgroud)

我想返回例如id2 in (1, 2, 4)但具有列表中所有值的ID .

在上面这种情况下,它将返回id = 2.这可能吗?

Red*_*ter 5

select id
from MyTable
where id2 in (1, 2, 4)
group by id
having count(distinct id2) = 3 --this must match the number of elements in IN clause
Run Code Online (Sandbox Code Playgroud)

更新:

如果ID列表是可变的,那么您应该创建一个包含不同ID集的附加表,然后您可以JOIN对其进行过滤.