MySQL Workbench сообщает: «Выбор недопустим в этой позиции для этой версии сервера , ожидая,БЛОКИРОВКА,ТАБЛИЦА, ЗНАЧЕНИЯ, С,'(‘ «

#mysql #sql #database #select

Вопрос:

При реализации базового оператора CASE WHEN в MySQL Workbench я получаю следующую ошибку «ВЫБОР недопустим в этой позиции для этой версии сервера. Ожидание, БЛОКИРОВКА, ТАБЛИЦЫ, ЗНАЧЕНИЯ, С,’ (‘».

Вот мой SQL-запрос:

 select staff_id , salary, case when salary gt;=10000 then 'high salary' when salary between 5000 and 10000 then 'Average salary' when salarylt;5000 then 'Too Low' end as Range from staff_salary;  

Ответ №1:

range это зарезервированное слово в MySQL, и его не следует использовать.

так что переименуйте его

 select staff_id , salary, case when salary gt;=10000 then 'high salary' when salary between 5000 and 10000 then 'Average salary' when salarylt;5000 then 'Too Low' end as Range1 from staff_salary;  

или используйте Спинки

 select staff_id , salary, case when salary gt;=10000 then 'high salary' when salary between 5000 and 10000 then 'Average salary' when salarylt;5000 then 'Too Low' end as `Range` from staff_salary;