2012-02-22 3 views
0

WHERE 절의 "a.form"조건이 다음 쿼리에서 충족되지 않습니다. 예를 들어 form = 1 인 경우에도 양식 4의 모든 경제학생이 검색어의 결과로 표시됩니다.T-SQL의 WHERE 절을 사용하는 방법

SELECT * FROM TableA 
INNER JOIN TableB 
    ON TableA.name = TableB.name 

그것은 당신을 위해 많이 명확하게하고 그것은 더 나은 구문입니다

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') 
+4

를 이동하십시오, 당신은 당신의 FROM 절에있는 모든 테이블에서 모든 것을 선택한다. 결과적으로 양식 테이블의 항목 만 필터링하고 양식 관계에 따라 다른 테이블은 필터링하지 않습니다. – Tommy

답변

관련 문제