Условие «a.form» в предложении WHERE не выполняется в следующем запросе. Это независимо от формы, которая используется, например, даже если form = 1 все студенты экономики в форме 4 отображаются в результате запроса.Как использовать предложение WHERE в T-SQL
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')
вы не присоединяющиеся таблиц с помощью JOIN заявления, вы выбираете все из каждой таблицы в предложении FROM. В результате, это только фильтрация элементов в таблице форм, а не других таблиц в соответствии с отношением формы. – Tommy