SELECT Student.S_ID, Student.First_Name, Student.Surname,
MAX(New_Models.Date_Issued) AS Last_Course_Date,
MAX(New_Models.Issue) AS Last_Issue,
MAX(New_Models.Model_ID) AS Last_Model_ID,
Student.Course_Level AS No_Training_Courses,
**COUNT(Exam_Student.Exam_ID) AS Final_Exam_Level**
FROM New_Models, Model_Student, Student, Exams, Exam_Student
WHERE New_Models.Model_ID=Model_Student.Model_ID
AND Student.S_ID=Model_Student.S_ID
AND (Student.S_ID)=Exam_Student.S_ID
AND ((Exams.Exam_ID)=Exam_Student.Exam_ID)
AND (Exams.Date_Taken)<=#12/31/2010#
GROUP BY Student.S_ID, First_Name, Surname, S.Course_Level
ORDER BY Student.S_ID, MAX(New_Models.Model_ID) DESC;
除COUNT命令外,所有結果都顯示爲需要。當與實際結果比較時,只有第一個細胞不同而且是錯誤的。 它應該計算學生完成了多少次考試。查詢中的錯誤
我可以回答任何問題,將等待你的幫助。
SELECT
Student.S_ID,
Student.first_name,
Student.surname,
MAX(new_models.date_issued) AS last_course_date,
MAX(new_models.issue) AS last_issue,
MAX(new_models.model_id) AS last_model_id,
Student.course_level AS no_training_courses
FROM
new_models,
Student,
Model_Student
WHERE
new_models.model_id = Model_Student.model_id
AND Student.S_id = Model_Student.S_id
AND *strong text*Exam_ID IN (
SELECT COUNT(Exam_Student.Exam_id) AS Final_Exam_Level
FROM
Exams,
Exam_Student,
Student
WHERE
Student.S_ID = Exam_Student.S_ID
AND exams.date_taken <=#12/31/2010#
Group by Student.S_ID)
GROUP BY
Student.S_ID,
first_name,
surname,
Student.Course_level
ORDER BY
Student.S_id,
MAX(new_models.model_id) DESC;
我不能使用INNER JOIN,所以我想知道類似上面的東西是可以做到的。但是,我不知道如何做子查詢!
那麼到底爲什麼你不能使用內部連接? – 2011-05-02 21:10:28