Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Max(max of 3 fields) + corresponding field
Message
De
22/10/2001 16:50:32
 
 
À
22/10/2001 15:29:26
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00571821
Message ID:
00571863
Vues:
24
>t1,t2,t3,goal1,goal2,goal3
>10,4,33,5,6,7
>55,77,8,2,3,4
>21,14,1,9,10,11
>
>1st record: maximum=33
>2nd record: maximum=77
>3rd record: maximum=21
>I need the maximum of these 3 records (maximum of 33,77 & 21) = 77
>(maximum of t1, t2 or t3 of all the records),
>PLUS the corresponding goal. For this example, it would be goal2=2.
>(t1 corresponds to goal1, t2 corresponds to goal2, etc.)
>
>SELECT MAX(IIF(t1>t2,IIF(t1>t3,t1,t3),IIF(t2>t3,t2,t3))) as xRet from table1
>This gives me the max. of t1,t2, & t3 of all the records (thanks for all your help to come up with this one),
>but how do I get the corresponding goal from the corresponding record??
>
>THANK YOU ALL!

This worked in my tests but might be slow on large tables. It requires two queries
select t1 as fld,goal1 as goals from abc where t1 in (select max(t1) from table1) union all;
select t2,goal2 from abc where t2 in (select max(t2) from table1) union all;
select t3,goal3 from abc where t3 in (select max(t3) from table1) into cursor hold
sele * from hold where fld in (select max(fld) from hold)
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform