2017-05-29 75 views
0

我可以在coalesce()中使用sum()吗?如何使用聚结来完成

我想在Postgres的存储函数中使用它。

例如

case (COALESCE(t3.Count3,0)+ COALESCE(t2.Count2,0) >= t4.Count4::float) 
then (select (t4.Count4::float/((t3.Count3::float)+(t2.Count2::float))) * 100 as Count5) 
else ''0'' 
end as Count5 
+0

好像你混合数据类型.. –

+0

Siri的要添加两个值,如果它是空呢?给定为零。所以我使用coalesce函数。你能帮我 –

+0

请提供整个查询,数据样本和结构 –

回答

2

这很难说,你想,因为有在代码中的多个问题,在这里做什么。虽然你的标题提到SUM你的代码不包括它(虽然你确实有+但这是不一样的)。

如果这是一个SELECT声明的一部分,那么我猜你想要的是:

SELECT 
CASE 
    WHEN COALESCE(t3.Count3,0)+ COALESCE(t2.Count2,0) >= t4.Count4::float 
    THEN 100 * t4.Count4::float/(COALESCE(t3.Count3::float,0)+COALESCE(t2.Count2::float,0)) 
    ELSE 0 
END as Count5 
FROM MyTable 
相关问题