A Simple example of a Conditional Where Clause in SQL Server

I was recently preparing a query for a report where the client needed to find out the following information from a small table -

- Products that have been Discontinued but are receiving Orders

- Products that have not been Discontinued but do not generate Orders

I solved this requirement using Conditional WHERE Clause. The Products table of the Northwind database has fields that match this requirement and I will demonstrate the Conditional WHERE clause query using the same. Here’s the query:

SELECT ProductID, ProductName, UnitsOnOrder, Discontinued from
Products WHERE
(Discontinued = 1 AND UnitsOnOrder > 0)
OR
(
Discontinued = 0 AND UnitsOnOrder = 0)

OUTPUT

image

You can also branch the statements and re-write the query using an IF-ELSE statement, however since this was a small table, I went in for the Conditional WHERE clause.


About The Author

Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of DotNetCurry, DNC Magazine for Developers, SQLServerCurry and DevCurry. He has also authored a couple of books 51 Recipes using jQuery with ASP.NET Controls and a new one recently at The Absolutely Awesome jQuery CookBook.

Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.

Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook

No comments: