2014-01-23 35 views
0

我有我的表中的兩個語句,其做工精細分別是這樣的:結合兩種選擇求和語句轉換成一個

SELECT fee_earner, (SUM(fe_fees)) AS Total 
FROM fees 
GROUP BY fee_earner 
order by Total desc; 

SELECT supervisor, (SUM(sv_fees)) AS Total 
FROM fees 
GROUP BY supervisor 
order by Total desc; 

但也有一些情況下fee_earner和主管領域都有相同的人的數據,有沒有辦法將這兩個語句合併爲一個來獲得總體總數?

+1

你能告訴一些示例數據和預期的結果?我沒有看到如何將這些結合起來,成爲所有情況下的單一結果。 – Barmar

回答

0

您可以使用union all此:

SELECT person, sum(fe_fees) as fe_fees, sum(sv_fees) as sv_fees, 
     (sum(fe_fees) + sum(sv_fees)) as total 
FROM ((select fee_earner as person, fe_fees as fe_fees, 0 as sv_fees, 'earner' as which 
     from fees 
    ) union all 
     (select supervisor as person, 0 as fe_fees, sv_fees as sv_fees, 'supervisor' as which 
     from fees 
    ) 
    ) t 
GROUP BY person 
order by Total desc; 
+0

這正是我正在尋找的,謝謝! –

0
select 
    fee_earner, SUM(fe_fees) as total, SUM(sv_fees) as total2, 
    SUM(fe_fees) + SUM(sv_fees) as wholeTotal 
from 
    fees 
group by 
    fee_earner, supervisor 
order by 
    Total desc;