Страница 1 из 1

Ноль при вычислении MySQL-формулы

Добавлено: 19 окт 2022, 16:44
pwLs
Добрый день.

Друзья, толкните в правильном направлении.

Есть сущность в который имеются поля "Стоимость", "Оплачено" и "Остаток".
Стоимость - обычное числовое поле.
Оплачено - результат динамического MySQL запроса SUM к сущности "Касса" с заданными условиями
Остаток - это MySQL формула, вычисляющая разницу между двумя первыми полями.

Сейчас остаток отображается лишь в том случае, когда есть хоть какие-то оплаты в кассу по данному договору, если оплат нет и поле "Оплачено" имеет значение 0 - получаю пустое значение ячейки Остаток, хотя по логике должны там должен быть результат вычисления ("Стоимость" - "0" = "Стоимость").

Пробовал указать формулу 0+[268]-[435] - результата не дало.

Снимок экрана 2022-10-19 в 17.33.40.png
Снимок экрана 2022-10-19 в 17.32.51.png
Снимок экрана 2022-10-19 в 17.16.20.png

Re: Ноль при вычислении MySQL-формулы

Добавлено: 19 окт 2022, 18:05
alexinc
Сдается мне, в запросе нужно IF использовать( IF([268]>0,SUM(),0) ), а в стоимости по-умолчанию ставить 0. Или в самой формуле использовать условие if(expr1,expr2,expr3)(из доков)

Re: Ноль при вычислении MySQL-формулы

Добавлено: 19 окт 2022, 18:33
pwLs
alexinc писал(а): 19 окт 2022, 18:05 Или в самой формуле использовать условие if(expr1,expr2,expr3)(из доков)
Благодарю! Получилось.

Re: Ноль при вычислении MySQL-формулы

Добавлено: 20 окт 2022, 07:48
support
Еще можно так

Код: Выделить всё

IFNULL([268],0)-IFNULL([435],0)
https://www.w3schools.com/sql/sql_isnull.asp

Re: Ноль при вычислении MySQL-формулы

Добавлено: 20 окт 2022, 09:05
pwLs
support писал(а): 20 окт 2022, 07:48 Еще можно так

Код: Выделить всё

IFNULL([268],0)-IFNULL([435],0)
Спасибо, проверил - так тоже работает.

Буду иметь ввиду ;)