Oracle Sql在匹配存在时检索总和
需要Sql帮助 Totalcount=员工+人数 列名是这样的。这是两个我们正在尝试加入的随机表。Oracle Sql在匹配存在时检索总和,sql,oracle,Sql,Oracle,需要Sql帮助 Totalcount=员工+人数 列名是这样的。这是两个我们正在尝试加入的随机表。 Imp:表1中存在的内容可能不存在于表2中。表2中存在的内容也可能不存在于表1中。因此,如果两者都存在,则需要求和总数,如果不是单个值,则可以使用联合所有值和聚合: select entity, sum(cnt) total_count from ( select entity, cnt from table2 union all select company, employee
Imp:表1中存在的内容可能不存在于表2中。表2中存在的内容也可能不存在于表1中。因此,如果两者都存在,则需要求和总数,如果不是单个值,则可以使用
联合所有值和聚合:
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。实体
应具有与table1.company'
(以及table2.cnt
和table1.employees
)相同的数据类型。如果数据类型不匹配,则必须明确地将列强制转换为adujst。您可以使用联合所有
和聚合:
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。实体
应具有与table1.company'
(以及table2.cnt
和table1.employees
)相同的数据类型。如果数据类型不匹配,则必须明确地将列强制转换为adujst。一个方法使用完全联接:
select coalesce(t1.company, t2.entity) as company,
coalesce(t1.employees, 0) + coalesce(t2.count, 0) as totalcount
from table1 t1 full join
table2 t2
on t1.company = t2.entity
一种方法使用完全联接
:
select coalesce(t1.company, t2.entity) as company,
coalesce(t1.employees, 0) + coalesce(t2.count, 0) as totalcount
from table1 t1 full join
table2 t2
on t1.company = t2.entity