2011-02-05 39 views
4

MySQLでは、selectを実行して合計を取得したいが、乗算はカラムの1つの値に依存する必要があります。だから、これは通常の文です:カラムの値に応じて選択するMySQLの乗算

 
SELECT col1*col2 AS sum 

しかしif col2 < 0、col2が値として0を取る必要があり、そのような何か:SELECT col1*(col2 < 0 ? 0 : col2) AS sum

は、私は、MySQLでこれを行うことができますか? 0を乗じた

答えて

6

何でもそれはあなたの要求されたロジックよりも少し簡単ですので、0である:非常にコンパクトでエレガントな解決策では

SELECT CASE WHEN COL2 > 0 THEN COL1 * COL2 ELSE 0 END AS `sum`... 

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

+0

おかげで、私がいましたそのような種類の操作を探していて、マニュアルのどこを見るべきか分からなかった! –

+0

私は必要なもの!それほどたくさん! –

1

SELECT IF(col2>0,col1*col2,0) as SUM; 
関連する問題