Зависит от диалекта SQL.
Например, в MySQL оператор +
предназначен только для математического сложения. Если вы хотите объединить значений, следует использовать CONCAT()
(в MySQL) или оператор ||
(другие СУБД, поддерживающие стандартный SQL).
Вы также делаете избыточный CAST в ROUND (), потому что функция ROUND ожидает, что ее аргумент будет числовым.
Итак, вот фиксированный оператор в MySQL:
CONCAT(ROUND(ServiceFee * COUNT(UserID), 0), ' yen')
Или в стандартном SQL:
CAST(ROUND(ServiceFee * COUNT(UserID), 0) AS VARCHAR(20)) || ' yen'
(CAST, вероятно, избыточен, но я сохранил его на всякий случай, если у вас была для этого цель)