假设我有两个表,我想计算它们的和差:
company1(
id INTEGER,
salary INTEGER
)
company2(
id INTEGER,
salary INTEGER
)
如何仅使用一个选择查询从每个员工中选择他们的SUM(工资)之间的差异?
例如:
SELECT
(SELECT SUM(company1.salary) FROM company1 GROUP BY id) - (SELECT SUM(company2.salary) FROM company2 GROUP BY id) as diff_between_pay
最终结果将是这样的:
company1
id salary
1 40000
2 20000
3 50000
company2
id salary
1 30000
2 15000
3 25000
end result differences:
id
1 10000
2 5000
3 25000
您可以在select
中执行此操作:
select (select sum(salary) from company1) - (select sum(salary) from company2) as diff_between_pay
from dual;
对于修改后的问题,请使用完全联接
:
select ( coalesce(c1.sums, 0) - coalesce(c2.sums, 0) ) as diff_between_pay
from (select id, sum(salary) as sums
from company1
group by id
) c1 full join
(select id, sum(salary) as sums
from company2
group by id
) c2
on c1.id = c2.id;
问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:
null 我什么也想象不到,有人来帮我吗? ----编辑---- @拉胡尔, 141 测试粉笔 ; 141 123 141 测试粉彩 ; 141 可见
问题内容: 我的SQL Server数据库中有两个表。第一个是,第二个是。两个表中都有一列。 现在,我想从两个表中选择一个特定的值。 这就是我在做的 但是我的查询给出了错误。 问题答案:
问题内容: 与oracle diff 相同:如何比较两个表?除了在MySQL。 假设我有两个表t1和t2,它们的布局相同,但是可能包含不同的数据。 区分这两个表的最佳方法是什么? 更准确地说,我正在尝试找出一个简单的SQL查询,该查询告诉我t1中某一行的数据是否不同于t2中相应行的数据 看来我不能使用相交也不能减去。当我尝试 我收到错误代码: [错误代码:1064,SQL状态:42000]您的SQ
问题内容: 我有一个表()有以下记录: ,,,,,。 每次作业开始运行时,都会使用记录表中的记录。当作业完成运行时,将使用另一个记录添加到表中。 这两个记录有相同的,和 JOB_ID (这是由进程中运行作业时确定的-唯一的这2个记录)。 我想要一个查询,该查询将返回表中的所有这些记录对(按ID desc排序),但棘手的部分是我想将作业运行的时间()添加到“已完成”状态的记录中。 我怎样才能做到这一
问题内容: 我有以下两个数组。我想要这两个数组之间的区别。也就是说,如何找到两个数组都不存在的值? 问题答案: 注意: 这个答案将返回的值是不存在的,它不会返回值不在。