我已经建立了自己的论坛。在进行搜索时,我想找到两个(或更多)特定用户参与的任何线程。我想出了这个:
SELECT * FROM table1 INNER JOIN table2
ON table1.threadid=table2.threadid
WHERE table2.threadcontributor IN ('1','52512')
在意识到它实际上意味着'1' OR '52512'
之前。
有没有办法让它工作,所有id必须匹配?
答案 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