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

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

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)


Наверх

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