SQLUSA.com
SQL SERVER 2008 GRAND SLAM
FREE TRIAL  CLICK HERE TO ORDER  SEARCH
SQL JOBS SQL Server Training Scripts JOB BANK
  SQL Server 2008 Training Scripts  
  SQL Server 2005 Training Scripts  
News SQL Server Articles SQL Format

How to use the CASE function in a WHERE clause?

Execute the following SQL Server T-SQL script in SSMS Query Editor to demonstrate the usage of CASE function in a WHERE clause:

USE AdventureWorks

GO

-- SQL case in where - SQL case function in where clause - SQL inner join

SELECT   Category = c.Name,

         Subcategory = sc.Name,

         ProductName = p.Name,

         ProductNumber,

         Color = isnull(Color,''),

         COST = '$' + convert(VARCHAR,StandardCost,1),

         ListPrice = '$' + convert(VARCHAR,ListPrice,1),

         ProductLine

FROM     Production.Product p

         INNER JOIN Production.ProductSubcategory sc

           ON p.ProductSubcategoryID = sc.ProductSubcategoryID

         INNER JOIN Production.ProductCategory c

           ON sc.ProductCategoryID = c.ProductCategoryID

WHERE    p.Name LIKE (CASE ProductLine

                        WHEN 'R' THEN 'Road%'

                        WHEN 'M' THEN 'Mountain%'

                        WHEN 'T' THEN 'Touring%'

                        WHEN 'S' THEN '%Shorts%'

                        ELSE 'Not for sale%'

                      END)

ORDER BY Category,

         Subcategory,

         ProductName;

 

GO

 

/* Partial results

 

Category    Subcategory             ProductName             ProductNumber

Accessories Bottles and Cages       Mountain Bottle Cage    BC-M005

Accessories Bottles and Cages       Road Bottle Cage        BC-R205

Accessories Panniers                Touring-Panniers, Large PA-T100

Accessories Pumps                   Mountain Pump           PU-M044

Accessories Tires and Tubes         Mountain Tire Tube      TT-M928

Accessories Tires and Tubes         Road Tire Tube          TT-R982

Accessories Tires and Tubes         Touring Tire            TI-T723

Accessories Tires and Tubes         Touring Tire Tube       TT-T092

*/

 

Related article:

http://www.sqlusa.com/bestpractices/training/scripts/casefunction/

 

Order SQL 2008 GRAND SLAM Today!
SQLUSA.com Home Page
SQL Server Training at www.sqlusa.com.
SQL Server 2008 Video Training at www.sqlusa.com.
SQL Server 2005 Training Videos at www.sqlusa.com.
Microsoft SQL Server 2000 Training Videos at www.sqlusa.com.

FREE SQL & Business Intelligence / OLAP Short Videos on YOUTUBE.com

Microsoft Community Contributor 2011
Invest in Your SUCCESS!

Search SQLUSA FREE SQL Server Articles & FREE T-SQL Scripts


Copyright 2005-2011, SMI Corp. All Rights Reserved.

SQL Server 2012 is a program product of Microsoft Corporation.
SQL Server 2008 is a program product of Microsoft Corporation.
SQL Server 2005 is a program product of Microsoft Corporation.
SQL Server 2000 is a program product of Microsoft Corporation.