MySQL in-operator必须匹配所有值?

时间:2011-09-21 18:50:23

标签: mysql in-operator

我已经建立了自己的论坛。在进行搜索时,我想找到两个(或更多)特定用户参与的任何线程。我想出了这个:

SELECT * FROM table1 INNER JOIN table2 
ON table1.threadid=table2.threadid 
WHERE table2.threadcontributor IN ('1','52512')

在意识到它实际上意味着'1' OR '52512'之前。

有没有办法让它工作,所有id必须匹配?

1 个答案:

答案 0 :(得分:21)

SELECT * 
    FROM table1 
        INNER JOIN table2 
            ON table1.threadid=table2.threadid 
    WHERE table2.threadcontributor IN ('1','52512')
    GROUP BY table1.PrimaryKey
    HAVING COUNT(DISTINCT table2.threadcontributor) = 2