2010-07-22 4 views
0

Travailler dans MS Access 2003 SP3: J'ai une requête que je cours pour trouver quelles 'voitures' ont été vendues avec une date après la date de livraison. J'ai des milliers de lignes. Quand tout est dit et fait, je veux juste avoir une poignée de lignes pour chaque «voiture», puis la plus ancienne date. Aucune suggestion?Requête pour éliminer plusieurs lignes en fonction de la date la plus ancienne

CAR   DATE ORDERED DATE DELIVERED CUSTOMER NUMBER DATE SOLD 
FORD MUSTANG 20061002    20080413   ABC123   20080422 
FORD MUSTANG 20061002    20080413   ABC124   20080429 
CHEVY IMPALA 20061002    20080413   ABC125   20080505 
+0

Toute aide est très appréciée. – Debbie

+0

Vous pourriez trouver que vous obtiendrez plus de réponses si vous acceptez certaines (mais pas nécessairement toutes) les réponses à vos autres questions. –

Répondre

0

Cela pourrait être mieux si vous aviez un champ ID:

DELETE 
FROM Cars 
WHERE Cars.DATESOLD Not In (
      SELECT TOP 5 DateSold 
      FROM Cars c 
      WHERE c.Car=Cars.Car 
      ORDER BY DateSold DESC) 
And Cars.DATESOLD Not In (
      SELECT TOP 1 DateSold 
      FROM Cars c 
      WHERE c.Car=Cars.Car 
      ORDER BY DateSold) 

S'il y a des dates en double, vous finirez avec plus de 5 enregistrements.

Questions connexes