计算字段中的MySQL IF条件

时间:2011-01-26 19:39:20

标签: sql mysql if-statement

我正在尝试创建一个计算字段,如果两个值碰巧相同,则值会加倍。我在变量MY中编码这个条件。我是SQL的新手,所以我道歉。

这是我的尝试:

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;

提前致谢!

1 个答案:

答案 0 :(得分: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)