2014-04-16 4 views
0

J'ai une requête d'accès qui ressemble à ceci;Comment renvoyer l'enregistrement avec le nombre maximal

STOCK_CODE  DESCRIPTION    NAME    MaxOfCountOfNAME 
100001 SLES - STEOL CS230-KE/TEXAPON ALVIN CONNOR LTD   1 
100001 SLES - STEOL CS230-KE/TEXAPON NSO IS (DCSM GRADE)  12 
100001 SLES - STEOL CS230-KE/TEXAPON OREAN PERSONAL CARE LTD 1 
100001 SLES - STEOL CS230-KE/TEXAPON WILKINSON     1 
100001 SLES - STEOL CS230-KE/TEXAPON ZEST AROMATICS LTD  18 

Cependant je voudrais pouvoir retourner seulement l'enregistrement avec le compte maximum qui est dans ce cas;

STOCK_CODE  DESCRIPTION    NAME    MaxOfCountOfNAME 
100001 SLES - STEOL CS230-KE/TEXAPON ZEST AROMATICS LTD  18 

Un conseil m'aiderait beaucoup.

Merci beaucoup, Chris

+0

Vous devez envoyer le SQL que vous utilisez pour arriver à votre solution actuelle. – Zaider

Répondre

1

D'autres langues ont de meilleures options pour cela, mais MS Access est un peu défaut. À moins que vous ayez un besoin spécifique de ne renvoyer que le maximum, je vous suggérerais simplement de commander par la valeur décroissante de cette colonne.

La solution pour faire ce travail tend à être d'utiliser des sous-requêtes pour créer un filtre. Notez également que vous ne récupérerez pas nécessairement un seul enregistrement avec ceci. Il retournera tous les résultats qui ont un MaxOfCountOfNAME correspondant à la plus grande valeur.

Je suppose que la requête que vous avez fournie est une requête enregistrée et la référence comme [requête]

SELECT q.STOCK_CODE, q.DESCRIPTION, q.NAME, q.MaxOfCountOfNAME 
FROM [query] q 
WHERE MaxOfCountOfNAME = (SELECT MAX(MaxOfCountOfNAME) FROM [query])