Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Last 3 orders from each customer - sql puzzle
Message
De
23/09/1999 20:25:41
Cindy Winegarden
Duke University Medical Center
Durham, Caroline du Nord, États-Unis
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00268263
Message ID:
00268315
Vues:
23
>>I want to make a file containing the last three orders for each customer.
>>
>>For example, in TasTraders, I can see all customer orders with:
>>
>>SELECT Customer.customer_id, Orders.order_id, Orders.order_date;
>> FROM tastrade!orders INNER JOIN tastrade!customer ;
>> ON Orders.customer_id = Customer.customer_id;
>> ORDER BY Customer.customer_id, Orders.order_date DESC
>>
>>But I want only the first three records for each customer. If I say
>>
>>SELECT TOP 3 Customer.customer_id, Orders.order_id, Orders.order_date;
>> FROM tastrade!orders INNER JOIN tastrade!customer ;
>> ON Orders.customer_id = Customer.customer_id;
>> ORDER BY Customer.customer_id, Orders.order_date DESC
>>
>>I get the first three records only, not three for each customer.
>>I think this calls for a nested sort. Has anyone devised a way?
>
>Have you tried to GROUP BY customer.customer_id
>
>Wayne

GROUP BY doesn't help. I needed to do this several months ago and did it by looping through the customers, selecting the top 3 orders, and appending that to my cumulative table. I also had to add an additional record which was the "all other".
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform