我的数据库设计就像图片所示:
数据表是为调查所有受访者的答案而设计的。我需要的查询例如
我想知道所有具有条件QID = 2和Answers = 26-35,以及QID = 4和Answers =“ ASHFIELD”的RID(响应者ID)。但是下面的sql查询:
select * from RespondentAnswers
where (QID = 2 and Answers = '26-35') and (QID = 4 and Answers = 'ASHFIELD')
很明显是不正确的。
简而言之,我想知道年龄在26-35岁之间并且居住在“ ASHFIELD”中的受访者。
我的数据库结构如上图所示。请问有人有解决办法吗?谢谢!
最佳答案
可能会被一群人使用
select rid
from RespondentAnswers
where (QID , Answers ) in ( (2, '26-35'), (4,'ASHFIELD'))
group by rid
having count(*) =2;
关于mysql - 在SQL数据库中,如何使用具有不同条件值的一列与具有不同条件值的另一列配对?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39810295/