SP:不等於運算符不工作
INNER JOIN StudentSubjectMapping SS ON SM.StudentID=SS.StudentID
WHERE [email protected] OR @CourseID=0
AND [email protected] OR @ClassID=0
AND [email protected] OR @ClassSectionID=0
AND SD.StudentID <> SS.StudentID
SP:不等於運算符不工作
INNER JOIN StudentSubjectMapping SS ON SM.StudentID=SS.StudentID
WHERE [email protected] OR @CourseID=0
AND [email protected] OR @ClassID=0
AND [email protected] OR @ClassSectionID=0
AND SD.StudentID <> SS.StudentID
嘗試添加括號()
在以下幾點:
WHERE ([email protected] OR @CourseID=0)
AND
([email protected] OR @ClassID=0)
AND
([email protected] OR @ClassSectionID=0)
AND
SD.StudentID<>SS.StudentID
使用LEFT JOIN
代替
LEFT JOIN StudentSubjectMapping SS ON SM.StudentID=SS.StudentID
WHERE [email protected] OR @CourseID=0
AND [email protected] OR @ClassID=0
AND [email protected] OR @ClassSectionID=0
AND SS.StudentID IS NULL
可以使用NOT IN
選擇那些StudentIDs
不存在StudentSubjectMapping
INNER JOIN StudentSubjectMapping SS ON SM.StudentID=SS.StudentID
WHERE ([email protected] OR @CourseID=0)
AND ([email protected] OR @ClassID=0)
AND ([email protected] OR @ClassSectionID=0)
AND (SD.StudentID NOT IN (SELECT StudentID FROM StudentSubjectMapping))
幾乎是正確的。無需使用INNER JOIN。感謝您的支持。 – Jithin
感謝您的支持。答:
WHERE
([email protected] OR @CourseID=0)
AND
([email protected] OR @ClassID=0)
AND
([email protected] OR @ClassSectionID=0)
AND
SM.StudentID NOT IN (SELECT StudentID FROM StudentSubjectMapping)
是的,並用於記錄:查看SQL運算符優先級;至少AND & OR ;) –
是什麼SD.StudentID .... SD –
或者是之前和.. – Shnugo
使用,或者你必須非常小心你如何使用它,否則結果將是意想不到的。 –