我有一個2列的表(見下文)。成員可以有多個響應的問題:如何查詢連接表以便滿足多個條件?
RESPONSES
---------
member_id INT
response_id INT
SAMPLE DATA
member_id -- response_id
1 -- 3
1 -- 5
2 -- 1
2 -- 5
2 -- 9
3 -- 1
3 -- 5
3 -- 6
我需要做的就是查詢表,以滿足所有響應標準成員。例如,我需要選擇具有1和5。我使用下面的查詢的RESPONSE_ID所有成員:
SELECT DISTINCT member_id
FROM responses
WHERE response_id = 1 AND response_id = 5
我希望找回member_id的2和3。但是我卻一無所獲返回。我使用了EXPLAIN,它顯示我的where查詢中有一個錯誤。我究竟做錯了什麼?
另外,是否有一個函數類似於IN,其中所有的標準必須滿足才能返回true?
正如我所看到的,您需要'OR'而不是'AND'。 – hjpotter92
您的WHERE條件將單獨應用於每一行。因此,它永遠不會是真的,因爲列不能同時等於1和5。 –