Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从两个不同的表中获取两列之和的sql查询_Sql_Sql Server 2008 - Fatal编程技术网

从两个不同的表中获取两列之和的sql查询

从两个不同的表中获取两列之和的sql查询,sql,sql-server-2008,Sql,Sql Server 2008,我有两张桌子。我想将表1中一列的所有值添加到表2特定列的所有值中。怎么做 比如说 表A Id Name Salary 1 A 20000 2 B 30000 表B Id Name Salary 1 A 30000 2 B 40000 我希望结果为total salary=sum(表A的薪资)+sum(表B的薪资) 这里的结果应该是120000使用子查询执行此操作: select a.s + b.s from (select sum(s

我有两张桌子。我想将表1中一列的所有值添加到表2特定列的所有值中。怎么做

比如说

表A

Id Name  Salary 
1    A   20000 
2    B   30000
表B

Id Name   Salary 
1    A    30000 
2    B    40000
我希望结果为
total salary=sum(表A的薪资)+sum(表B的薪资)


这里的结果应该是120000

使用子查询执行此操作:

select a.s + b.s
from (select sum(salary) as s from a) cross join
     (select sum(salary) as s from b);
或者,如果其中一个表可能为空,
union all
会更好:

select sum(salary)
from (select id, name, salary from a union all
      select id, name, salary from b
     ) ab;

首先使用联合。请尝试以下查询:

select sum(salary) from 
(
select sum(Salary) as salary from tableA
union 
select sum(Salary) as salary from tableB
)

如果两个表的工资总额相同,则报告的金额为正确金额的一半。