![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
If в select [D6]
Itoixxx © (2006-08-15 16:00:00)есть процедура в которую передается параметр.далее следует выборка на основе этого параметра.
но есть баг - если параметр НУЛЛ (а в таблице нуллов) нет,
то он ничего не выбирает,а надо сделать так что бы если этот параметр нулл то происходли выбор всех значений этого параметра.
////////
CREATE PROCEDURE NUM_DISTR_OB_DYN(
NO_ISL1 SMALLINT,
NO_ISL2 SMALLINT,
KOD_CITY SMALLINT)
RETURNS (
NO_ISLED SMALLINT,
KOD_COMP SMALLINT,
NAME_COMP VARCHAR(100),
DISTR FLOAT)
AS
DECLARE VARIABLE KOL FLOAT;
DECLARE VARIABLE VSEGO FLOAT;
begin
no_isled=no_isl1;
while (no_isled<=no_isl2) do
begin
select count(isled.ank_nom) from isled where nom_isled=:no_isled into :vsego;
for select brands.kod_comp,name_comp, count(distinct dbase.ank_nom)
from company
join brands on company.kod_comp=brands.kod_comp
join dbase on dbase.kod_brand=brands.kod_brand
join isled on dbase.ank_nom=isled.ank_nom
join outlets on outlets.ank_nom=isled.ank_nom
join types on outlets.kod_type=types.kod_type
join channel on types.kod_channel=channel.kod_channel
left join city on outlets.kod_city=city.kod_city
join regions on city.kod_reg=regions.kod_reg
left join population on population.kod_pop=city.kod_pop
left join tm on tm.kod_brand=brands.kod_brand
and isled.nom_isled=:no_isled
// -вот этот параметр. если он нулл то ничего не выбиреться
//а надо что б если он нулл , то происходил выбор всех значении
city.kod_city=:kod_city
//
group by brands.kod_comp,name_comp
into :kod_comp,:name_comp,:kol
do
begin
DISTR=KOL/VSEGO*100;
suspend;
end
no_isled=no_isled+1;
end
end
//////
может можно что-то типа If организовать?
Ega23 (2006-08-15 16:36:00) [1]
> Мы тут целый день ;%№;%; с ним. ифы лепили и ни №;№;№ не
> вышло. а тут №;";"№;, одной строкой.
> Весело
>
"О сколько нам открытий чудных
Готовит просвещенья дух..." (с)
Itonixxx&Idiot (2006-08-15 16:12:00) [2]Мы тут целый день ;%№;%; с ним. ифы лепили и ни №;№;№ не вышло. а тут №;";"№;, одной строкой.
Весело
Desdechado (2006-08-15 16:06:00) [3]судя по синтаксису, это FB
в FB1.5 вроде появилось case
Ega23 (2006-08-15 16:04:00) [4]
Select * from ... where ((@Param1 is null) or Column1=@Param1)