SQL は初めてで、一連の列を使用して計算フィールドを作成しようとしています。ただし、これらの値の一部は NULL の場合があります。それらがNULLの場合、計算フィールドがNULLの結果を返すのではなく、任意の値を設定したくありません。
計算フィールドはこちら
(ces.EXPERT_SCORE * cirm.CONSUMER_RATING) + (12.5 * scs.SIMILARITY)
そう使用しますIFNULL(tocheckwhat,withwhattoreplace)
:
(IFNULL(ces.EXPERT_SCORE,5) * IFNULL(cirm.CONSUMER_RATING,5)) + (12.5 * IFNULL(scs.SIMILARITY,5))
動作するはずです!:)
COALESCE 演算子を使用できます
(
COALESCE(ces.EXPERT_SCORE, <YOUR_ARBIT_VALUE>) *
COALESCE(cirm.CONSUMER_RATING, <YOUR_ARBIT_VALUE>)
)
+ (12.5 * COALESCE(scs.SIMILARITY, <YOUR_ARBIT_VALUE>))