SQL:总结来自不同表的两列

时间:2017-01-09 14:52:01

标签: sql sql-server stored-procedures

我有两个具有相同列名的表,我想总结来自两个不同表的所有值,其中列名称TotalIncome不是ID。

基本上,我想采取这两个表

tblRespondent

受访者的姓名TotalIncome

 1         John   40.00
 2         Carl   50.00

tblRespondent'sMember

受访者的姓名TotalIncome

 1         Wendy   30.00
 1         Ged     10.00
 2         Paolo   15.00

但我想要的总收入输出是145.00

PS:我的英语不好。

3 个答案:

答案 0 :(得分:2)

您可以使用两个子查询来完成此操作,一个用于每个表的总和。

SELECT (SELECT SUM(TotalIncome) FROM tblRespondent) +
       (SELECT SUM(TotalIncome) FROM tblRespondentsMember) AS total_income

答案 1 :(得分:2)

在派生表中执行UNION ALL,然后sum() TotalIncome值。

select sum(TotalIncome)
from
(
    select TotalIncome from tblRespondent
    UNION ALL
    select TotalIncome from tblRespondentsMember
) dt

ANSI SQL兼容的答案 - 即几乎可以与任何dbms一起使用!

答案 2 :(得分:0)

以下是我所需输出的示例查询。 如果有帮助,请告诉我。我用with子句来测试数据。

WITH T1 AS
(
SELECT 'John' Name,40.00  AMount FROM dual UNION ALL
 SELECT 'Carl' Name,50.00 AMount FROM dual
), T2 AS
(
SELECT 'Wendy' Name,30.00  AMount FROM dual UNION ALL
 SELECT 'Ged' Name,10.00  AMount FROM dual UNION ALL
 SELECT 'Paolo' Name,15.00  AMount FROM dual 
)
SELECT Sum(AMount) FROM(
SELECT AMount FROM T1
UNION ALL
SELECT AMount FROM T2);