Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизСчитаем баланс? Найти похожие ветки
← →
off (2003-05-27 06:43) [0]Доброе утро мастера, если утро где-то бывает добрым *-) Но служба есть служба, а значит снова в бой.
Есть две таблицы ("начисления"&"оплата"), возникла необходимость подсчитать баланс и сравнить его с нулем (или некоторой суммой).
Для чего пишу следующий СиКуЛь:
... WHERE (( SELECT SUM(SUMALL FROM NACHALL) - ( SELECT SUM(PAY FROM PAYALL))>0 ...
И все, вроде бы работает, кроме случаев, когда один из селектов возвращает NULL. Тогда вся разность приравнивается к NULL.
Похоже, что всему виной неугамонный NULL, а мой вопрос можно свести к следующему как (что добавить с СиКуЛь) получить 0 вместо противного NULL
← →
Zacho (2003-05-27 06:57) [1]C помощью UDF. Написать самому или посмотреть на www.ibase.ru, там были такие UDF.
P.S. В Yaffil и FB1.5 можно и без UDF.
← →
Alexandr (2003-05-27 07:11) [2]UDF называется z
находится она в rfunc
и заменяет она null на 0
← →
off (2003-05-27 07:40) [3]А не может так получиться, что дело совсем не в NULL, а в кривом СиКуЛе?
> Zacho © (27.05.03 06:57)
> P.S. В Yaffil и FB1.5 можно и без UDF.
Простите а можно подробнее как без UDF?
← →
Zacho (2003-05-27 08:25) [4]
> off © (27.05.03 07:40)
> А не может так получиться, что дело совсем не в NULL, а
> в кривом СиКуЛе?
Смотря что считать "кривым". А вообще любая арифметическая операция с null даст в результате null
> Простите а можно подробнее как без UDF?
В Yaffil - с помощью функции IIF.
В FB - что-то типа CASE, COALESCE точно не помню, смотри документацию по FB
← →
Zacho (2003-05-27 08:36) [5]Добавлю насчет "кривости".
Если в полях, по котрым считаются суммы, может быть NULL - то это в подавляющем большинстве случаев кривость разработки структуры БД. Лучше делать такие поля NOT NULL DEFAULT 0 - и подобных проблем не будет.
← →
off (2003-05-30 14:01) [6]Спасибо Zacho и Alexandr сделал через UDF, все работает, превосходно.
Да и на последок, Игорь, если буду в Новосибирске с меня пиво :-)
← →
Zacho (2003-05-30 14:08) [7]
> off © (30.05.03 14:01)
Не откажусь.. :-D
← →
Alexandr (2003-05-30 14:40) [8]а в Омске ты не будешь?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c