2017-05-29 78 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 
相關問題