查找与同一列中的多个值匹配的不同元素

时间:2016-04-18 14:29:55

标签: mysql sql

让我们说这是我正在讨论的表格

id      pId     fId
1       1       1
2       2       1
3       2       2
4       3       2

我需要获得一个与fId列表中所有给定索引匹配的pId列表。

我的意思是 - >

考虑一下fId的列表:

(1,2)

然后结果应该是

2

因为只有pId 2与fId列表中的所有给定条目匹配(可能是1和2)。

到目前为止,我无法找到任何方法 - 我们非常感谢任何帮助: - )

1 个答案:

答案 0 :(得分:2)

汇总pid列并使用having子句。

select pid
from tablename
group by pid
having sum(case when fid in (1,2) then 1 else 0 end) >= 2