Mysql Intersect查询

时间:2013-01-09 06:54:03

标签: mysql select group-by distinct

我有3个mysql表主题,考试和exams_subjects。主题包含主题ID,考试包含考试ID和exam_subjects包含主题ID和考试ID。我想编写一个mysql查询来获取exams_subjects表中主题id的输出,这些输出对所有检查ID都是通用的。即不同检查ID的主题ID的交集。我怎么写这样的查询?

1 个答案:

答案 0 :(得分:0)

SELECT subjectid 
FROM exam_subjects 
WHERE examid IN (SELECT examid FROM exams) 
GROUP BY subjectid 
HAVING COUNT(*) = (SELECT COUNT(examid) FROM exams);

我在堆栈溢出How to do intersection on a composition table

中的类似问题的帮助下得到了这个