Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.07;
Скачать: CL | DM;

Вниз

SQL выбор максимального значения из нескольких полей   Найти похожие ветки 

 
Денис Курьин ©   (2003-07-16 11:38) [0]

Подскажите пожалйуста, как выбрать максимальное значение из нескольких числовых полей?
Выполняю запрос
select max(f1), max(f2), max(f3) from Table1
получаю три поля с числами, а как мне из этих трех полей выбрать наибольшее значение


 
Johnmen ©   (2003-07-16 12:46) [1]

В приложении...


 
Zacho ©   (2003-07-16 12:49) [2]

Средствами LocalSQL, насколько знаю, никак. Только программно, после выполнения запроса.
Например, так.
MyQuery.Open;
MaxValue:=MyQuery.Fields[0].Value;
if MaxValue<MyQuery.Fields[1].Value then MaxValue:=MyQuery.Fields[1].Value;
if MaxValue<MyQuery.Fields[2].Value then MaxValue:=MyQuery.Fields[2].Value;


 
KDS ©   (2003-07-16 12:55) [3]

:-))) А паскаль зачем?
Потом программно ручками
var f1,f2,f3,maxF:Extended;
begin
with Query do begin
Close;
Unprepare;
SQL.Clear;
SQL.Add("select max(f1), max(f2), max(f3) from Table1");
Prepare;
Open;
f1:=Fiels[0].AsFloat;
f2:=Fiels[1].AsFloat;
f3:=Fiels[2].AsFloat;
Close;
end;
if f1>f2 then maxF:=f1 else maxF:=f2;
if maxF<f3 then maxF:=f3;
end;


 
Gerakl   (2003-07-16 17:57) [4]

Попробyй так:

select max(fld)
from
(
(select max(f1) fld from Table1)
union
(select max(f2) fld from Table1)
union
(select max(f3) fld from Table1)
)


 
Johnmen ©   (2003-07-16 21:46) [5]

>Gerakl (16.07.03 17:57)

И пробовать не стоит...:)



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-20669
Dimaxx
2003-07-22 01:21
2003.08.07
Скорости у CD-ROM


14-20759
Nemra
2003-07-18 18:43
2003.08.07
OutLook XP


1-20520
alois
2003-07-19 11:09
2003.08.07
Запуск файла из командной строки


1-20561
bkatrin
2003-07-23 19:02
2003.08.07
QReport


8-20637
bkv
2003-04-15 11:15
2003.08.07
Вывод текста в Графическом редакторе