sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo hago múltiples condiciones CASE WHEN usando SQL Server 2008?

Hay dos formatos de expresión de caso . Puedes hacer CASE con muchos WHEN como;

CASE  WHEN Col1 = 1 OR Col3 = 1  THEN 1 
      WHEN Col1 = 2 THEN 2
      ...
      ELSE 0 END as Qty

O un CASE simple expresión

CASE Col1 WHEN 1 THEN 11 WHEN 2 THEN 21 ELSE 13 END

O CASE dentro CASE como;

CASE  WHEN Col1 < 2 THEN  
                    CASE Col2 WHEN 'X' THEN 10 ELSE 11 END
      WHEN Col1 = 2 THEN 2
      ...
      ELSE 0 END as Qty