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

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

Операции в расширенном SQL для ХП [D7, Firebird 2.0]


Megabyte ©   (2007-06-07 16:29:00) 

У меня выбираются 4 значения в ХП:

select min1(Rpe.progress_timestamp - Rpb.progress_timestamp)
...
into  :min_days1;
select min2(Rpe.progress_timestamp - Rpb.progress_timestamp)
...
into  :min_days2;
select max1(Rpe.progress_timestamp - Rpb.progress_timestamp)
...
into  :max_days1;
select max2(Rpe.progress_timestamp - Rpb.progress_timestamp)
...
into  :max_days2;

По сути надо минимальное из 2-х минимальных и, соответственно, максимальное из 2-х максимальных.
Можно ли как-то в самой ХП средствами SQL? Мне это требуется для стандартизации процедуры формирования отчета по данным с выборки.
Банально делаю так:
if (:min_days1 > :min_days2) then
       begin
           :min_days = :min_days2
       else
           :min_days = :min_days1
       end;

Ругается на неправильный синтаксис. Ну я и не претендую
Что подскажете.

p.s. И вообще, кто может дать ссылку по расширенному SQL для FB 2.0. Никак не могу найти, яндекс выдает только на обычный SQL.


Megabyte   (2007-06-08 15:26:00) [1]

У меня выбираются 2 минимума и 2 максимума(по разным условиям), надо выбрать из них наименьшее и набольшее.
Спасибо, разобрался. :)


Desdechado   (2007-06-08 14:01:00) [2]

Я не совсем понял, что надо.
Но можно использовать несколько функций в одном запросе.
SELECT MIN(zayv_id), MAX(zayv_id) FROM zayavka


Megabyte   (2007-06-08 13:51:00) [3]


> Desdechado ©  (07.06.07 17:16) [3]

Я про то, что принцип, по которому я делаю, верен? Т.е. проблема в синтаксических ошибках?


Desdechado   (2007-06-07 17:16:00) [4]

> Ругается на неправильный синтаксис.
И правильно делает.

> Что подскажете.
Справку по синтаксису почитать. begin-end ходят парами и не могут в себе левый else содержать. Да и операторы точкой с запятой отделяются. А end не отделяется.

Короче: RTFM


stud   (2007-06-07 17:00:00) [5]

а сделать запрос - отсортировать как надо и выбрать нужное колво записей?


Johnmen   (2007-06-07 16:37:00) [6]


> Ругается на неправильный синтаксис.

Двоеточия там к чему???


Наверх

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