计算字段中的MySQL IF条件

Spe*_*cer 2 mysql sql 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;
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Ken*_*wns 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)
Run Code Online (Sandbox Code Playgroud)