嘿嘿,如果这个问题真的很干净,那就很抱歉了,但是如下所示
我有一个与此相关的作业任务。 写一个查询来返回这个学生使用LastName" Field"
拍摄的主题数这三个表是:
Students:
StudentID
FirstName
LastName
StudentCourses:
StudentCourseID
StudentID
CourseID
Courses:
Maths
Science
English
P.E
Drama
Film Studies
我有类似
的东西SELECT Students.studentID,
Students.Lastname,
Students.CourseID
FROM Students
WHERE Students.LastName = "Field"
INNER JOIN StudentCourses
ON Student.CourseID = StudentCourses.CourseID
FULL JOIN Student
ON Student.RoleID = Courses.CourseID
这是写的所以我无法测试它,但这对任何人来说都是正确的吗?
答案 0 :(得分:2)
使用COUNT()函数查找学生所选课程的数量,并使用WHERE子句将学生的姓氏过滤为“字段”。
SELECT s.StudentID, s.LastName, COUNT(sc.CourseID)
FROM Students s
JOIN StudentCourses sc
ON s.StudentID = sc.StudentID
WHERE s.LastName = 'Field’;
答案 1 :(得分:1)
应该到哪里去。你真的不需要第3次加入课程表,因为你没有从中选择任何东西。
SELECT st.STUDENTID,
st.LASTNAME,
count(stc.COURSEID) as COURSECOUNT
FROM STUDENTS st
INNER JOIN STUDENTCOURSES stc
ON st.COURSEID = stc.COURSEID
WHERE st.LASTNAME = 'Field'
答案 2 :(得分:0)
您可以尝试以下查询。 WHERE
子句应在FROM
和JOIN
条款之后
SELECT s.studentid,
s.lastname,
COUNT(sc.courseid)
FROM student s
JOIN studentcourses sc
ON s.studentid = sc.studentid
WHERE s.lastname = 'Field'