我有这4个表检索使用LEFT JOIN复杂的结果
1. course
------------------------
CourseID CourseNum CourseName
2. courseRequirements
------------------------
CourseID ReqID
3. semestercourses
------------------------
CourseID
4. studentcoursecomplete
-----------------------
CourseID StudentID
的语句必须做如下因素
1显示从表过程中,课程名称,其中course.CourseID = semestercourses.CourseID
2 - 不要显示学生完成“学生课程完成”的过程
3 - 不要显示有学生要求的课程没有完成 4 - 显示有学生要求的课程
例如
这学期有3门课程(英语2,数学,体育)
约翰是一个学生
他完成的数学课程(studentcoursecomplete)
英语2有一个要求 “英语1”( courseRequirements),他没完成english1(studentcoursecomplete)如果他完成1英语,英语2将显示
所以他能看到的只是“数学”课程
我有这个说法
SELECT course.*
FROM course
LEFT JOIN studentcoursecomplete ON studentcoursecomplete.CourseID = course.CourseID
LEFT JOIN courseRequirements ON courseRequirements.CourseID = course.CourseID
WHERE courseRequirements.CourseID IS NULL
AND studentcoursecomplete.CourseID IS NULL
这种说法做工精细,但如果学生完成english1,english2没有显示
这不工作..我把课程放在学期课程,我试试这个,并没有正常工作 – 2014-09-04 12:34:41
@GabrielBlanco,请检查更新的查询。 – Gabor 2014-09-04 13:26:34
yeeeeeeeeeeeeeeeeees maaaaaaaaaaaan^_^thaaaaaaaats work fine – 2014-09-04 13:37:33