Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
9-20367
Esc
2003-02-07 13:57
2003.08.07
Динамические массивы или списки?


14-20711
Vovchik_A
2003-07-23 15:51
2003.08.07
Вопрос !


3-20401
Grac
2003-07-16 11:00
2003.08.07
Итоги в QReport


4-20850
Yanis
2003-06-03 12:36
2003.08.07
Системное меню приложения.


1-20499
Duran
2003-07-25 11:05
2003.08.07
Типы




   Наверх