以下查询未满足WHERE子句中的"a.form“条件。这与所使用的表单无关,例如,即使form=1表4中的所有经济学学生都被显示为查询的结果。
SELECT a.Form,
c.AcademicYear,
b.SubjectName,
b.UserID,
b.Password,
c.*
FROM StudentDetails.Programmes a,
StudentDetails.Subjects b,
RegistrationDetails.Registration c
WHERE b.SubjectName = 'Economics'
AND b.UserID = 'user'
AND b.Password = 'user'
AND c.Term = 1
AND c.academicyear = '2011/2012'
AND a.form = 1
AND ( core1 = 'Economics'
OR core2 = 'Economics'
OR core3 = 'Economics'
OR core4 = 'Economics'
OR elec1 = 'Economics'
OR elec2 = 'Economics'
OR elec3 = 'Economics'
OR elec4 = 'Economics' ) 发布于 2012-02-23 04:08:49
您应该使用以下语法:
SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name它对你来说会清晰得多,而且是更好的语法。
您是否没有逻辑表关系?
请转到这个网站,它会对你很有帮助的,http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html
https://stackoverflow.com/questions/9402111
复制相似问题