我試圖做一個查詢發現學生的所有細節採訪了不止一次如何使多桌子查詢少羅嗦訪問
我已經得到了成功的使用效果:
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。 – Parfait