2011-01-26 83 views
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 2011-01-26 19:41:30

回答

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 2011-01-26 19:45:08