这是学生表。
StudentId ClassId SubjectCode
101 201 0
101 201 1
101 301 1
101 401 0
假设我为他/她的课程做了最终的标记。学生可以参加不同的课程。我想找出哪一排 学生没有该课程的主题代码0。就像这个
101 301 1
怎么做? 如果我喜欢这个
select Studentid,classId,subjectcode from Student
where operator <> 0
这也给了这个记录
101 201 1 .I don't want that.because it has 0 for that class 201.
答案 0 :(得分:2)
您可以使用GROUP BY
和HAVING
:
SELECT
StudentId, ClassId
FROM Student
GROUP BY
StudentId, ClassId
HAVING
SUM(CASE WHEN SubjectCode = 0 THEN 1 ELSE 0 END) = 0