#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