我正在尝试编写返回我 subject_id(result table) 的 sql 查询,其中 primary_skill(student table) 是唯一的。
结果表有列(student_id、subject_id、mark)
我的查询:
SELECT r.subject_id
FROM result r
JOIN student s ON r.student_id = s.student_id
WHERE s.primary_skill IN (SELECT DISTINCT primary_skill
FROM student)
GROUP BY 1;
我有这个结果:
subject_id
1
2
3
4
5
6
7
8
9
10
1001
但我应该只返回 id 1001,因为只有这个主题有独特的学生 primary_skill,在其他 id 中主要技能是重复的。
我究竟做错了什么?它如何改善?