gpt4 book ai didi

mysql - 如何查询连接表以满足多个条件?

转载 作者:IT王子 更新时间:2023-10-28 23:43:51 25 4
gpt4 key购买 nike

我有一个包含 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

我需要做的是在表中查询满足所有响应条件的成员。例如,我需要选择 response_id 为 1 和 5 的所有成员。我正在使用以下查询:

SELECT DISTINCT member_id 
FROM responses
WHERE response_id = 1 AND response_id = 5

我希望取回 member_id 的 2 和 3。但是我什么也没得到。我使用了 EXPLAIN,它显示我的 where 查询中有错误。我做错了什么?

另外,是否有类似于 IN 的函数,必须满足所有条件才能返回 true?

最佳答案

这应该有效:

SELECT member_ID
FROM responses
WHERE response_ID IN (1,5)
GROUP BY member_ID
HAVING COUNT(DISTINCT response_id) = 2

您需要计算返回的记录数,它等于您的 IN 子句中提供的值的数量。

SQLFiddle Demo

关于mysql - 如何查询连接表以满足多个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com