只有两列而不是一列的情况

时间:2015-03-24 17:44:51

标签: sql-server

如果可以采取某种方式做某事,我需要一些建议和建议:

SELECT Status=Case 
WHEN clflf.product='active' 
THEN 'Active' ELSE 'NotActive' END;

这基本上在一列中创建了活动或非活动。

是否有某种方法可以使用某种情况或某种其他技术,这样我就可以拥有两个列,并且有效的'和' NotActive'?

2 个答案:

答案 0 :(得分:2)

您需要单独的案例陈述,如此。

Select StatusActive = Case when clflf.product='active' then 1 ELSE 0 end
    ,StatusNotActive = Case when clflf.product <>'active' then 1 ELSE 0 end

答案 1 :(得分:0)

你可以随时

SELECT active,
       1 - active AS notactive
FROM   clflf
       CROSS APPLY (SELECT CASE
                             WHEN clflf.product = 'active' THEN 1
                             ELSE 0
                           END) CA(active)