2015-09-10 32 views
-9

這是當前查詢:T-SQL | SQL-服務器樞軸

SELECT 
    cod.COM_DESC 
    ,count(emp.OBE_Name) colValue 
    ,'Total'[Desc] 
FROM OBP_EMP_MASTER emp 
LEFT JOIN COMMONCODES cod 
    ON emp.OBE_AGENT_DR = cod.COM_SLNO 
WHERE OBE_AGENT_DR IS NOT NULL 
GROUP BY cod.COM_DESC 

UNION ALL 

SELECT 
    cod1.COM_DESC 
    ,count(rep.OBE_Name) colValue 
    ,'Replaced'[Desc] 
FROM OBP_EMP_REPLACE_HISTORY rep 
LEFT JOIN COMMONCODES cod1 
    ON rep.OBE_AGENT_DR = cod1.COM_SLNO 
WHERE OBE_AGENT_DR IS NOT NULL 
GROUP BY cod1.COM_DESC 

結果

enter image description here

期望的結果

enter image description here

+1

搜索條件的總和或有條件的聚集。 –

+2

你也可以檢查使用'PIVOT';)。 –

+6

你必須展示已經嘗試的以及失敗的原因。你不能指望有人發佈你的整個解決方案,並解決你的問題 – Chris

回答

0

嘗試:

select 
    Agent, 
    max(case when `desc` = 'Total' then ColValue else 0 end) Total, 
    max(case when `desc` = 'Replaced' then ColValue else 0 end) Replaced 
from tbl 
group by Agent 

演示sqlfiddle

+1

我想SUM是OP想要的。 (我知道,與樣本數據的答案相同,但如果OP添加更多樣本數據,我們將知道。) – jarlh