There is no direct functionality, but there are two options:
Using GROUP BY / HAVING
SELECT t.documentid FROM TABLE t WHERE t.termid IN (1,2,3) GROUP BY t.documentid HAVING COUNT(DISINCT t.termid) = 3
The caveat is that you should use HAVING COUNT(DISTINCT , because duplicate termid equal to 2 for the same document file will be false. And COUNT should equal the number of termid values ββin the IN clause.
Using JOINs
SELECT t.documentid FROM TABLE t JOIN TABLE x ON x.termid = t.termid AND x.termid = 1 JOIN TABLE y ON y.termid = t.termid AND y.termid = 2 JOIN TABLE z ON z.termid = t.termid AND z.termid = 3
But it can be a pain to handle criteria that change a lot.
OMG Ponies
source share