2017-05-29 9 views
0

sum()coalesce()に使用できますか?合体を使って和を取る方法

私はそれを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

はそう...それがNULLの場合 –

+0

シリは、2つの値を追加したいです?ゼロとして与えられる。だから私は合体機能を使用します。 –

+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 
関連する問題