在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