2010-04-18 5 views
1
 
ID-  DATE-  NAME 
10100- 2010/04/17- Name1 
10100- 2010/04/14- Name2 
10200- 2010/04/17- Name3 
10200- 2010/04/16- Name4 
10200- 2010/04/15- Name5 
10400- 2010/04/01- Name6 

J'ai ces champs (et d'autres aussi) dans une table. J'ai besoin de faire une requête qui renvoie l'ID avec votre nom respectif où date plus récente par exemple les résultats de la requête souhaitée dans cet exemple de données sera.Aide sur cette requête dans Access

 
10100- 2010/04/17- Name1 
10200- 2010/04/17- Name3 
10400- 2010/04/01- Name6 

Ommiting ID avec des dates plus anciennes.

Ensuite, j'ai besoin d'une requête pour cela. Merci.

Répondre

2

Plutôt essayer quelque chose comme

SELECT table1.* 
FROM Table1 INNER JOIN 
(
SELECT Table1.ID, Max(Table1.Date) AS MaxOfDate 
FROM Table1 
GROUP BY Table1.ID) sub ON Table1.ID = sub.ID and Table1.Date = sub.MaxOfDate 

Vous pouvez également modifier les noms de colonnes, si ce n'est pas seulement un exemple, car ceux-ci sont reserved words.

+1

Merci beaucoup ... c'était la solution. J'essaie cette première (marquez une réponse). D'autres solutions je vote. Merci à tous – MaK

2
SELECT ID, Date, Name 
FROM myTable 
INNER JOIN (SELECT ID, Max(Date) AS MaxDate FROM myTable GROUP BY ID) myTable2 
ON myTable.ID = myTable2.ID 
WHERE myTable.Date = myTable2.MaxDate 

Remarque: cela est écrit sans essayer. Donc, s'il vous plaît soyez gentil :)