在SQL Server

时间:2018-01-31 05:00:16

标签: sql-server

我想在第一个案例陈述中创建一个单独的列(让我们说A),从第二个案例陈述(比如说B)创建第二个独立的列。然后使用这些列执行除法。但是这个查询将结果放在1个单独的列中,重命名为pym。

select 
    WFMGrade, 
    case 
       when WFMGrade IN ('P/PA','PAT','A') 
          then sum(TotalFTE)
       when WFMGrade IN ('SA','M','SM','AD','D','SD','AVP','VP','SVP','EVP') 
          then sum(TotalFTE)
       else 0
    end as pym
from 
    dw_UtilizationPredictionReport
group by 
    (WFMGrade)

如何为这两个案例陈述创建单独的列?

1 个答案:

答案 0 :(得分:2)

将查询包装在两个单独的case语句中,如下所示:

select 
    WFMGrade, 
    case 
        when WFMGrade IN ('P/PA','PAT','A') then sum(TotalFTE)                
        else 0
    end as pym1,
    case                 
        when WFMGrade IN ('SA','M','SM','AD','D','SD','AVP','VP','SVP','EVP') then sum(TotalFTE)
        else 0
    end as pym2
from 
    dw_UtilizationPredictionReport
group by 
    (WFMGrade)