我正在尝试创建一个计算字段,如果两个值碰巧相同,则值会加倍。我在变量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;
提前致谢!
答案 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)