253 votes

Comment faire plusieurs conditions CASE WHEN en utilisant SQL Server 2008 ?

Ce que j'essaie de faire, c'est d'utiliser plus d'une condition CASE WHEN pour la même colonne.

Voici mon code pour la requête :

   SELECT   Url='',
            p.ArtNo,
            p.[Description],
            p.Specification,
            CASE 
            WHEN 1 = 1 or 1 = 1 
               THEN 1 
               ELSE 0 
            END as Qty,
            p.NetPrice,
            [Status] = 0
      FROM  Product p (NOLOCK)

Cependant, je souhaite utiliser plusieurs WHEN pour la même colonne "qty".

Comme dans le code suivant :

IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE

0voto

Arun Prasad E S Points 3375

Combinaison de toutes les conditions

select  a.* from tbl_Company a

where  a.Company_ID NOT IN (1,2)  

AND (   
        (0 = 
            CASE WHEN (@Fromdate = '' or @Todate='')
                THEN 0 
                ELSE 1  
            END
        )      -- if 0=0 true , if 0=1 fails (filter only when the fromdate and todate is present)
                OR
        (a.Created_Date between @Fromdate and @Todate )                 
    )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X