我想写一个查询,只选择特定国家的问题,所以当我选择包含国家 1 和 2 的问题时,只显示有 2 个国家的问题,这些国家是 1 和 2。
我有 3 个表 - 问题、国家、问题_has_countries
- 问题:身份证,问题
- 国家:身份证,姓名
- questions_has_countries : questions_id, countries_id
我试过了 :
SELECT q.question, q.id , c.id
FROM questions as q, countries as c, questions_has_countries as qhc
WHERE c.id = qhc.countries_id
AND qhc.questions_id = q.id
AND c.id IN (1,2)
GROUP BY q.question
HAVING COUNT( qhc.countries_id ) = 2
当我使用第 5 行( AND c.id IN (1,2) )时,我的计数器停止正常工作,因为它正在缩小搜索范围。我知道我必须重写它,但我不知道如何。请帮忙。