ЕСЛИ ЕЩЕ С DBISAM SQL

Я выполняю следующий запрос с использованием DBISAM

SELECT((SUM(sales.sale_amount)
+SUM(sales.vat_amount))
-SUM(payments.fee_amount)) 
AS Balance,account_details.id FROM account_details 
JOIN sales ON account_details.id = sales.account_id 
JOIN payments ON account_details.id = payments.account_id GROUP BY account_details.id

Однако существует 3 различных типа продажи - sales.sale_type, равный 0, 1 или 2. Если это 0, положительное значение sale_amount и vat_amount должны быть добавлены, следует использовать отрицательные значения ELSE.

Я пробовал разные

IF(sales.sale_type=0)

BEGIN
...
END
ELSE
BEGIN
...
END

Безрезультатно, встречаются только ошибки со скриптом, даже не запущенным. Я не знаю, относятся ли эти ошибки к DBISAM или это мой SQL в целом.

Любая помощь приветствуется.

Спасибо

1 ответ

Есть ли в DBISAM операторы CASE?

SELECT
  CASE WHEN sales.sale_type=0
       THEN SUM(sales.sale_amount) + SUM (sales.vat_amount) - SUM(payments.fee_amount)
       ELSE SUM(sales.sale_amount) - SUM (sales.vat_amount) + SUM(payments.fee_amount)
       END
FROM
  <blah>
Другие вопросы по тегам