Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Need Help with SQL Statement
Message
De
19/09/1997 16:13:22
 
 
À
19/09/1997 16:07:37
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00050724
Message ID:
00050788
Vues:
39
>>>>>>>Can anyone tell me if the following can be done in a one line select statement. I cannot seem to get the results I require.
>>>>>>>
>>>>>>>I have one table with the following fields: Customer, Date, Price. I am simply trying to get the last price quoted to the customer.
>>>>>>>
>>>>>>>CustA, 01/01/01, 100
>>>>>>>CustA, 01/01/97, 111
>>>>>>>CustB, 02/02/96, 200
>>>>>>>CustB, 02/02/02., 222
>>>>>>>
>>>>>>>I want my result to be:
>>>>>>>
>>>>>>>CustA, 01/01/97, 111
>>>>>>>CustB, 02/02/96, 200
>>>>>>>
>>>>>>>If I use SELECT * FROM myTable ORDER BY Date DESC GROUP BY Customer
>>>>>>>I get ...
>>>>>>>CustA, 01/01/01, 100
>>>>>>>CustB, 02/02/01, 222
>>>>>>>
>>>>>>>Again, I am looking for the last price quoted only.
>>>>>>>
>>>>>>>Any help would be greatly appreciated.
>>>>>>>
>>>>>>>-Isaac Roda
>>>>>>
>>>>>>Sorry, it's two lines:
>>>>>>select * from table1 into cursor tmp1 order by customer,date
>>>>>>select * from tmp1 group by customer
>>>>>
>>>>>Ed:
>>>>>
>>>>>If the data field was a Date-Time field, do you think the following would work:
>>>>>
>>>>>Select Customer, max(Date), Price from Table1
>>>>>
>>>>Surely not, because it must be grouped. BTW, I have tested my answer, and I always do this before posting something here.
>>>
>>>I note that Ed Pikman's reply did NOT use the "DESC" in the SELECT. Isaac, try it both ways.
>>>
>>>Barbara
>>
>>Why both? One is enough. Group always retains the last record.
>
>Isaac didn't mention if he was using VFP 5.0 or not, but isn't this what the 'TOP n' synatax is for?
>'select top n * from table1 where customer = somecustomer order by date desc'

Not exactly. The prupose of the query was to group records for all customers (returning one particular record for each one). It's old trick: group retains the last record, so data should be sorted first.
Edward Pikman
Independent Consultant
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform