2011-07-20 61 views
2

如何求和3個表格的列?MySQL:來自3個不同表格的總和

我有table1,table2和table3列「收入」。

我可以做SELECT SUM(REVENUE) FROM TABLE1但我要爲他們做些什麼?

我想:SELECT SUM( table1.Revenue+ table2.Revenue + table3.Revenue ) FROM table1, table2, table3',但它不工作...

任何想法?謝謝!

回答

3
select sum(rev) as trev 
from 
(
    SELECT SUM(Revenue) as rev FROM table1 
    union all 
    SELECT SUM(Revenue) as rev FROM table2 
    union all 
    SELECT SUM(Revenue) as rev FROM table3 
) as tmp 
1
select sum(revenue) 
from (
select revenue from table1 
union 
select revenue from table2 
union 
select revenue from table3 
) 
+3

必須使用'UNION ALL'否則重複的收入將被淘汰? –

1
SELECT SUM(REVENUE) FROM (
    SELECT REVENUE FROM TABLE1 
    UNION ALL 
    SELECT REVENUE FROM TABLE2 
    UNION ALL 
    SELECT REVENUE FROM TABLE3 
) revenues 
3

您需要添加所有的個人款項一起:

SELECT (SUM(table1.Revenue) + SUM(table2.Revenue) + SUM(table3.Revenue)) 
     AS total_rev FROM table1, table2, table3