如何组合这两个SQL语句?

Ang*_*ker 2 sql sql-server sql-server-2005

我有2个SQL查询,它们都获取不同ID的计数.

select @cntCM_CMQ = count(*)
from dbo.CaseWorkflow cw 
join vew_CasePersonnelSystemIDs vcps on cw.ID_Case = vcps.ID_Case
join dbo.WorkflowStates ws on ws.ID_WorkflowState = cw.ID_WorkflowState
where CMSUID = @nSUID and ws.ID_WorkflowType = 3    -- CMQ

select @cntCM_PRWK = count(*)
from dbo.CaseWorkflow cw 
join vew_CasePersonnelSystemIDs vcps on cw.ID_Case = vcps.ID_Case
join dbo.WorkflowStates ws on ws.ID_WorkflowState = cw.ID_WorkflowState
where CMSUID = @nSUID and ws.ID_WorkflowType = 1    -- PAPERWORK
Run Code Online (Sandbox Code Playgroud)

似乎我应该能够将它们组合成一个选择(可能带有一个CASE声明),但我似乎无法破解它.

Bel*_*Bob 6

像这样的东西?

select sum(case when ws.ID_WorkflowType = 1 then 1 else 0 end) as cntCM_PRWK
     , sum(case when ws.ID_WorkflowType = 3 then 1 else 0 end) as cntCM_CMQ
from dbo.CaseWorkflow cw 
join vew_CasePersonnelSystemIDs vcps on cw.ID_Case = vcps.ID_Case
join dbo.WorkflowStates ws on ws.ID_WorkflowState = cw.ID_WorkflowState
where CMSUID = @nSUID
Run Code Online (Sandbox Code Playgroud)