MySQL IF Условие в вычисляемом поле - PullRequest
2 голосов
/ 26 января 2011

Я пытаюсь создать вычисляемое поле, в котором, если два значения совпадают, значение удваивается. Я кодирую это условие в переменной 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 Ответ

5 голосов
/ 26 января 2011

Вы хотите 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...