Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.025 c
14-84637
Soft
2003-06-04 13:37
2003.06.26
Hurd против Linux, о Windows и говорить не стоит:)


3-83881
Nick-From
2003-06-02 17:06
2003.06.26
Народ, в MySql индекс по первичным ключам сам создается


14-84550
Omar2002
2003-06-06 17:16
2003.06.26
Мастер кривых враз


3-83882
GavAl
2003-06-02 18:02
2003.06.26
Filter


1-84393
Rel_
2003-06-09 14:05
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский