ЕСЛИ ЕЩЕ С 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>