14

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

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

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

有什么方法可以让它工作,以便所有 id 都必须匹配?

4

1 回答 1

24
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
于 2011-09-21T18:57:47.537 回答