Search code examples
sqlsql-server-2000case-expression

SQL Server 2005: CASE statement question


I have 4 bit values and a varchar

sku
a
b
c
d

From a SELECT statement I need to get the following result for each bit value that has a value of 1.

So for each bit value I need to output its actual name, so the result would look like:

"NameOfSKU, a, c"

In a comma delimited format.


Solution

  • SELECT sku 
         + (CASE WHEN a=1 THEN ', a' END)
         + (CASE WHEN b=1 THEN ', b' END)
         + (CASE WHEN c=1 THEN ', c' END)
         + (CASE WHEN d=1 THEN ', d' END)
    FROM someTable