【发布时间】:2018-01-25 06:29:00
【问题描述】:
我正在尝试查询以查找不止一次采访的学生的所有详细信息
我已成功使用:
SELECT S.StudNo, S.StudLName, S.StudFName, S.StudMobile, S.City, S.DateEnrolled, S.ProgNo, S.AmountDue, S.Gender
FROM STUDENT AS S INNER JOIN STUDENT_INTERVIEW AS SI ON S.StudNo = SI.StudID
WHERE
(SELECT COUNT(SI.StudID)
FROM STUDENT_INTERVIEW)
GROUP BY S.StudNo, S.StudLName, S.StudFName, S.StudMobile, S.City, S.DateEnrolled, S.ProgNo, S.AmountDue, S.Gender
HAVING COUNT(SI.StudID) > 1;
但它似乎太长了.. 我正在尝试重写它以使其不那么罗嗦,尽管无法获得正确的结果。我一直在尝试使用更多的子查询来不必使用GROUP BY。当我这样做时,我会得到所有学生的结果,而不是我所追求的特定 2
SELECT *
FROM STUDENT
WHERE StudNo IN
(SELECT StudID
FROM STUDENT_INTERVIEW
WHERE
(SELECT COUNT(StudID)
FROM STUDENT_INTERVIEW
HAVING COUNT(StudID) > 1;))
【问题讨论】:
-
您是否将第一个查询错误地复制到您的帖子中?它在语法上是不正确的。
WHERE子句不会评估为任何 TRUE/FALSE。
标签: sql ms-access subquery multi-table