|
Posted by Erland Sommarskog on 12/24/07 09:52
ll (barn104_1999@yahoo.com) writes:
> I'm working with a SQL statement to select from tables and only return
> that which matches the semester AND value of 'N'. The statement below
> does return results according to my criteria, but it also returns all
> of the other results following the semester criteria that don't have a
> value of 'N'.
> WHERE Semester = 'FA-SP' OR Semester = 'FA' OR Semester = 'SP'
> AND Out8 = 'N'
> order by AMS_Courses.CourseCatID
AND binds tighter than OR, so your WHERE clause says:
WHERE Semester = 'FA-SP' OR
Semester = 'FA' OR
(Semester = 'SP' AND Out8 = 'N')
order by AMS_Courses.CourseCatID
You need to add parentheses:
WHERE (Semester = 'FA-SP' OR Semester = 'FA' OR Semester = 'SP')
AND Out8 = 'N'
order by AMS_Courses.CourseCatID
In this case you could also use the IN operator:
WHERE Semester IN ('FA-SP', 'FA', 'SP')
AND Out8 = 'N'
order by AMS_Courses.CourseCatID
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|