Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Считаем баланс?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.028 c
3-84008
softmaster
2003-05-25 00:18
2003.06.26
помощь в создании запроса


1-84072
SNC
2003-06-10 09:37
2003.06.26
Имена файлов


1-84364
SLI
2003-06-16 18:23
2003.06.26
Архивирование данных


9-83844
[Baradoo]
2003-01-14 21:38
2003.06.26
Небольшое демо...


4-84838
Silver_
2003-04-25 18:31
2003.06.26
Клаву





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский