Привет Я работаю над проектом, где я хочу суммировать некоторые значения в зависимости от других атрибутов в таблице и ассоциаций. Пока у меня есть:
SELECT (
SUM(
(CASE WHEN models.type = 'type_1' THEN -1 ELSE 1 END) *
(CASE WHEN models.currency_id = other_models.currency_id THEN ROUND(models.amount * other_models.conversion, 2) ELSE models.amount END)
) AS difference
)
но это дает мне синтаксическую ошибку, но я не уверен, почему? Любая помощь будет большой.
Одна из возможностей заключается в том, что у вас есть другие столбцы в SELECT
. Для всего выражения нет необходимости в круглых скобках:
SELECT SUM((CASE WHEN models.type = 'type_1' THEN -1 ELSE 1 END) *
(CASE WHEN models.currency_id = other_models.currency_id THEN ROUND(models.amount * other_models.conversion, 2) ELSE models.amount END)
) AS difference
Я не вижу ничего явно неправильного в самом выражении.
check the manual that corresponds to your MySQL server version for the right syntax to use