WHERE句でCASE

下記テーブルから、Post、Heldの内、大きい方の

数値が0以上のデータだけ抽出する。

year post held
2000 100 110
2001 200 -200
2002 -300 250
2003 400 -300
2004 -500 -200
2005 600 -50

 

SELECT * FROM test
WHERE
 CASE  WHEN post > held THEN POST
    WHEN held > post THEN held
    ELSE held
 END > 0

 

■実行結果

yeat post held
2000 100 110
2001 200 -200
2002 -300 250
2003 400 -300
2005 600 -50