Условное обновление в SQL - PullRequest
       2

Условное обновление в SQL

1 голос
/ 02 сентября 2011

Я хочу условный результат в моем запросе.У меня есть столбец с именем co1.Как я могу получить

15 when c1 > 50
2  when c1 > 20
0 otherwise

Если я использую

CASE WHEN (co1>50) THEN 15 ELSE 0 END

Но когда я добавляю 3-е предложение, MySQL возвращает ошибку

CASE WHEN (co1>50) THEN 15 ELSE  WHEN (co1>20) THEN 2 ELSE 0 END

Что не так ввторой случай?Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 02 сентября 2011

ELSE должно быть только в последнем предложении. Используйте это:

CASE WHEN (co1>50) THEN 15 WHEN (co1>20) THEN 2 ELSE 0 END
0 голосов
/ 02 сентября 2011

Когда вы говорите ELSE - вы имеете в виду, что это последнее условие. Так и должно быть

CASE  
    WHEN (co1>50) THEN 15 
    WHEN (co1>20) THEN 2 
   ELSE 0 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...