Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не складывает как люди!!! [D7, XP]


ViktorZ ©   (2006-04-13 18:07:00) 

Почему при выполнении запроса(
SELECT C.NAME,T.CARD,SUM(T.OST),SUM(T.SUMMA) ,' +
' SUM(T.OST)+ SUM(T.SUMMA), (SUM(T.SUMMA)*(:skidka20))/100 AS SKIDKA20, ' +
' (SUM(T.OST)*(:skidka10)/100) AS SKIDKA10,' +
' (SUM(T.OST)*(:skidka10)/100) + (SUM(T.SUMMA)*(:skidka20))/100 ' +
' FROM ":SEN:Total" T, ":SEN:Cards" C WHERE C.CARD=T.CARD Group by ' +
'C.NAME,T.CARD' +
' HAVING (SUM(T.OST) BETWEEN :sumsk1 AND :sumsk2 OR SUM(T.SUMMA)' +
'BETWEEN :sumost1 AND :sumost2)  ORDER by CARD

)
не выдает сумму, скажем когда есть поля, T.Summa, T.OST, тогда все нормально, но когда нет одного из них то выдает ноль.
Скажем так:
SUM(T.SUMMA)    SUM(T.OST)  SUM(T.SUMMA)+SUM(T.OST)
0  123   0
0  222   0
100  125   225
0  200   0

Мне нужно чтоб складывал нормально.Как это сделать?
Заранее спасибо.


ViktorZ   (2006-04-14 13:54:00) [1]

Спасибо всем, правда я хотел копировать данные и одного столбца там где не ноль, а там где есть обе суммы складывать.


Sergey13   (2006-04-14 09:16:00) [2]

2ViktorZ ©   (13.04.06 18:07)
Можно считать это ошибкой проектирования. 8-)
NULL в числовых полях, которые надо математически обрабатывать очень редко бывает оправдан. Пропиши у этих полей значени по умолчанию =0. Проапдейть NULL на 0, и забудь о проблеме.


ЮЮ   (2006-04-14 08:15:00) [3]

Перенеси это поле из запроса в сalculated поле DataSet-а


Anatoly Podgoretsky   (2006-04-13 22:09:00) [4]

ViktorZ ©   (13.04.06 19:23) [2]
0 и NULL разные, не сравнимые вещи


Desdechado   (2006-04-13 20:58:00) [5]

NULL - такая вещь, которая обрабатывается особо
всякие сравнения или арифметические операции с ним бессмысленны, ибо получишь NULL


Ega23   (2006-04-13 19:32:00) [6]

Про парадокс ничего сказать не могу. Поищи что-то типа IsNull


ViktorZ   (2006-04-13 19:32:00) [7]

Скажи про то что знаешь.


ViktorZ   (2006-04-13 19:30:00) [8]

Парадокс...db


Ega23   (2006-04-13 19:27:00) [9]

СУБД какая?


ViktorZ   (2006-04-13 19:23:00) [10]

Правильно подозреваешь, как мне этот Нуль сложить с числом и получить число ;-)


Ega23   (2006-04-13 18:12:00) [11]

Подозреваю, что потому что NULL


Наверх

Титульная страница Поиск, карта сайта Написать письмо