Главная страница
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.033 c
3-20412
Nikolai_S
2003-07-16 16:38
2003.08.07
Как на SQL вычислить целое количество месяцев между двумя датами?


1-20486
Alex_x
2003-07-23 13:35
2003.08.07
Определить ключ Windows, Office


1-20607
GrBob
2003-07-24 17:04
2003.08.07
Out of memory while expanding memory stream


1-20565
Ivolg
2003-07-23 10:56
2003.08.07
Сохранение!!!


3-20443
Ross
2003-07-17 13:20
2003.08.07
Refresh IBDataset1