如果是Else,Case或其他

时间:2015-03-26 18:40:14

标签: tsql

我的查询只需要显示已注册的学生。每个学生都有几个入学日期。如果其中一个注册日期是辍学日期,则不应将其包含在结果中。我的专栏是,学生编号,注册日期,行动。如果他们辍学,他们将会有“D”行动。我不知道如何过滤掉辍学学生,因为每个学生都有多个约会。我应该使用If Else或Case语句还是where子句中的某些内容。如果有人能指出我正确的方向。谢谢!

1 个答案:

答案 0 :(得分:0)

如果没有更好地了解您的架构,这很难做到,但这样的事情可能适合您:

SELECT e1.* FROM Enrollments e1
LEFT JOIN (
    SELECT StudentNumber FROM Enrollments
    WHERE Action = "D") dropped ON dropped.StudentNumber = e1.StudentNumber
WHERE dropped.StudentNumber IS NULL