首页 > 解决方案 > Oracle Sql 在匹配存在时检索总和

问题描述

需要 Sql 帮助。

在此处输入图像描述

Totalcount=Employees + Count 列名是这样的。这是我们试图加入的两个随机表。Imp:有可能 - Table1 中存在的内容可能不存在于 Table2 中。此外,table2 中存在的内容可能在 Table1 中不存在。因此,如果两者都存在,则需要总和,如果不是单个值

标签: sqloracle

解决方案


您可以使用union all和聚合:

select entity, sum(cnt) total_count
from (
    select entity, cnt from table2
    union all select company, employees from table1
) t
group by entity
order by entity

为了使其正常工作,您需要两个表中的列具有相同的数据类型,即table2.entity应该具有与table1.company'(以及table2.cnttable1.employees)相同的数据类型。如果数据类型不匹配,则必须将列显式转换为调整。


推荐阅读