PostgreSQL查找来自不同表的两个查询的总和



我有两个查询,返回来自两个不同表的发行和赎回总数。

这一次退货,大约18k

select
count(*)
from
issuances_extended
WHERE
status = 'completed'

这一次返回赎回,大约7千

select
count(*)
from
redemptions_extended
WHERE
status = 'completed'

我需要它们的总和,我想出了这个,但这个只返回2,记错了

with active_user as (
select
count(*) as issuance_count
from
issuances_extended
where
status = 'completed'
UNION ALL
select
count(*) as redemption_count
from
redemptions_extended
where
status = 'completed'
)
select
count(*)
from
active_user

我该怎么办?

select 
(select count(*) from issuances_extended WHERE status = 'completed')
+ (select count(*) from redemptions_extended WHERE status = 'completed')
AS result

在外部查询中使用sum((而不是count((

with active_user as (
select
count(*) as issuance_count
from
issuances_extended
where
status = 'completed'
UNION ALL
select
count(*) as redemption_count
from
redemptions_extended
where
status = 'completed'
)
select
sum(issuance_count)
from
active_user

最新更新