所以表a是一个 policy_id
信息,而表b是 policy_id
附有索赔。不是a中的所有id都存在于b中,但是我想连接两个表并求和(total claims)。
问题是这个总和远远高于表本身的实际总和。
以下是我迄今为止尝试过的:
select a.policy_id, coalesce(sum(b.claim_amt), 0)
from database.table1 as a
left join database2.table2 as b on a.policy_id = b.policy_id
where product_code = 'CI'
group by a.policy_id
b中不存在的id显示得很好,旁边有一个0,它确实存在,索赔金额似乎在总和中大量重复。
1条答案
按热度按时间kzmpq1sx1#
我怀疑你
policy_id
在table1
不是唯一的,这会导致两倍,三倍,等金额,你可以聚合的总和table2
用cte来解决这个问题。