在MySQL数据库中,我们有三个表:“Answers”,“Items”和“AnswerItems”,它们链接在前两个表之间。MySQL - 多对多关系 - 表
解答表
AnswerID
(和其他列)
===================
项目表
ItemID
(和其他列)
个==================
AnswerItems表
AnswerID
的ItemID
========= ======
现在,我们希望得到的是有一定的项目(不是更多或更少)
我们试图(假设我们正在寻找answe答案FirstItemID和SecondItemID)
select AnswerID
from AnswerItems
where ItemID in (FirstItemID,SecondItemID)
group by AnswerID
having COUNT(distinct ItemID) = 2
此查询还会返回有其他项目所选择的两个项目以上
SQL小提琴答案:http://sqlfiddle.com/#!2/d9124/3
你能为此发布sqlfiddle吗? – DevelopmentIsMyPassion
它工作吗? http://sqlfiddle.com/#!2/d9124/4 –
在你必须证明'DISTINCT ItemId'或者如果你使用AnswerID你删除了'DISTINCT'。 “独特”使结果独一无二。在你的情况下,你总是会得到1 – lopo