Reply to Re: sql operator question

Your name:

Reply:


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

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация