![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Результат запроса null->результат запроса=0 [D7, FB 2.0]
RomanH © (2006-09-29 13:32:00)Мастера подскажите пожайлусто если результат SQL-запроса увенчался null, то результат должен быть равен 0.
Использую nullif а результат nullисправте меня
Вот что я хочу сделать то есть выбрать сумму всех затрат партии
но некоторые затраты могут быть в иностранной валюте,то есть затраты в ин валюте необходимо перевести на рубли (если не переводятся то есть код валюты не указан то 0)
select batch.B_AKCIZ+batch.B_VAT+batch.B_REG_IN_STORE+batch.B_PAY_IN_STORE+batch.B_BOARDING+
batch.B_PROMOTE+batch.B_CUSTOM_REG+batch.B_DU+batch.B_ECOLOGY+batch.B_CASH+batch.B_EXPRESS_OFFICE+
batch.B_DP+batch.B_LABEL+batch.B_SERTIFICATE+
nullif(((batch.B_TRANSPORT_TO_KALD)*(select curs.curs_valuta from curs
where curs.ncode=batch.b_ttk_valuta_id and
curs.datev=(select batch.b_date_go from batch
where batch.batch_id=:batch_id))),0)+
nullif(((batch.B_TRANSPORT_TO_STORE)*(select curs.curs_valuta from curs
where curs.ncode=batch.b_tts_valuta_id and
curs.datev=(select batch.b_date_go from batch
where batch.batch_id=:batch_id))),0)+
nullif(((batch.B_TRANSPORT_OTHER)*(select curs.curs_valuta from curs
where curs.ncode=batch.b_to_valuta_id and
curs.datev=(select batch.b_date_go from batch
where batch.batch_id=:batch_id))),0)+
nullif(((batch.B_OTHER)*(select curs.curs_valuta from curs
where curs.ncode=batch.b_o_valuta_id and
curs.datev=(select batch.b_date_go from batch
where batch.batch_id=:batch_id))),0)
from batch
where batch.batch_id=:batch_id into :zatrats;
Romkin (2006-09-29 14:23:00) [1]NULLIF выдает NULL когда значения равны. Используй coalesce...
Sergey13 (2006-09-29 13:39:00) [2]Какое то из слагаемых =NULL (точнее IS NULL, а то из ПОТРЕПАТЬСЯ придут и убъют меня 8-). Обрами все составляющие nullif-ми или все сразу.