您好我正在开发一个项目,我希望根据表中的其他属性和它的关联来总结一些值。到目前为止,我有:
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
)
但是这给了我一个语法错误,但我不确定为什么?任何帮助都会很棒。
答案 0 :(得分:1)
一种可能性是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
我在表达本身中看不出任何明显的错误。