oracle如何在两个表中,把查询出的count值相加求和

今天写泛微OA系统的流程表单,遇见了校验合同编号重复判断的问题。

其中需要写一个sql语句,把2个表中的具有够条件的合同编号的值都查出来,用count来计数,并且把两个sql查出的count相加,在同一条sql语句中实现,

select count(*)from HeTong1 where htbh='合同编码';

select count(*)from HeTong2 where htbh='合同编码';

//因为是两张具有相同字段的表,现在要把这两个神sql合并成一个sql,并求count的和;

合并后的代码:

select sum(a) from(

select count(*) a from uf_gjdt_HeTong where htbh = 'ANST-MYDR-DYZY1-20191206'

union all select count(*) a from formtable_main_119 where htbh='ANST-MYDR-DYZY1-20191206'

)  dual;

这样就能把count的和求出来

如果有三个sql求和可以在加一个union all

如下

 

select sum(a) from (

select count(*) a from uf_gjdt_HeTong where htbh = 'ANST-MYDR-DYZY1-20191206'

union all select count(*) a from formtable_main_119 where htbh='ANST-MYDR-DYZY1-20191206'

union all select count(*) a from formtable_main_127 where htbh='ANST-MYDR-DYZY1-20191206'

) dual;

精简化套用如下:

select sum(a) from (

select count(*) a from 表1 where 条件

union all select count(*) a from 表2 where 条件

) dual;

你可能感兴趣的:(oracle如何在两个表中,把查询出的count值相加求和)