я не могу объявить в запросе

#mysql #sql #case #declare

Вопрос:

 @a =( CASE WHEN amount IS NOT NULL THEN amount1   WHEN percentage IS NOT NULL THEN sco.amount * 1   (percentage / 100) END) AS data1  

без @a я получаю результат, но с @a я не получаю результата

Комментарии:

1. Какие СУБД вы используете?

2. я хочу добавить два последних случая, поэтому я объявляю переменную mysq

3. без @a я получаю результат, но с @a я не получаю результата , чего вы хотите достичь? Теперь вы сравниваете значение @a переменной с CASE результатом. Если вы хотите присвоить значение переменной, то вы должны использовать оператор присваивания := .

Ответ №1:

Попробуйте так , как показано ниже, вы пропали без вести :

 @a :=( CASE WHEN amount IS NOT NULL THEN amount1   WHEN percentage IS NOT NULL THEN sco.amount * 1   (percentage / 100) END) AS data1