2011-01-26 7 views
2

計算されたフィールドを作成しようとしていますが、2つの値が同じになるとその値は倍になります。私はこの条件を変数MYにコーディングしています。私はSQLに新しいので、私は謝罪します。事前に計算されたフィールドのMySQL IF条件

SELECT EXPERT_SCORE*MY 
IF(CONSUMER_EXPERT_SCORE_ID= CONSUMER_EXPERT_ID, 1, -1) AS MY 
FROM consumer_expert_score 
WHERE CONSUMER_EXPERT_SCORE_ID=2 OR 1; 

ありがとう:

は、ここに私の試みです!

+0

いくつかのサンプルデータと出力を投稿してください。 – Quassnoi

答えて

5

CASE WHENとIN()句が必要です。

残念なことに、残念ながら、条件がトートロジであるため、完全にクエリを書き換えることができませんでした。常に1を返します。とにかく、私はあなたが意味するかもしれないと思うものに少し変えました:

SELECT .... 
    case when consumer_expert_id = 1 then 1 else -1 end as my 
    from consumer_expert_score 
where consumer_expert_score_id IN (2,1) 
+0

申し訳ありませんが、私は別の列を追加することを意味しました – Spencer

+0

元の投稿を編集すると、クエリを変更することもできます。この質問を調べる他の人にとっては役に立ちます –

+0

...私はあなたが何かを倍増させようとする。今度はCASE WHENとIN()を計算したので、次のことが分かります。 –

関連する問題