Суть, которую другие комментаторы кратко обозначают, состоит в том, что в MySQL есть ДВА отдельных CASE-конструкцийОдин - это оператор case, который вы используете в процедурном коде, а другой - функциональная конструкция, которую вы используете внутри оператора или предложения SELECT.
В этом примере у вас есть оператор SELECT, содержащий конструкцию CASE.Компонент результата должен быть выражением.Вы не можете помещать здесь операторы.
Вам необходимо переместить любые операторы за пределы SELECT.