Вниз
Скачать: 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
14-20751
Fantasy
2003-07-21 03:04
2003.08.07
математика


14-20717
VEG
2003-07-20 02:30
2003.08.07
Кто-нибудь знает, как установить TimeOut


14-20691
VJack
2003-07-23 11:28
2003.08.07
Компоненты шифрования


1-20544
Артем К
2003-07-23 15:40
2003.08.07
Как уменьшить увеличить яркость картинки?


1-20524
tytus
2003-07-26 10:00
2003.08.07
Как в StatusBar-е писать по-русски?




   Наверх