Sélection de champs non compris dans un group by

Fermé
mag - Modifié par mag le 21/01/2013 à 21:04
 tessel75 - 22 janv. 2013 à 23:37
Bonjour,

J'ai une table qui s'appelle NORD. elle comporte les champs suivants : Lot, Tache, Tranche, Révision, Numéro_Métier, Nom_Métier, état.


Je veux que ma requête me sorte les différentes taches qu'il existe par tranche et par lot, en sachant que la révision doit être la plus grande. (en effet un lot peut livrer plusieurs fois la même tache pour la même tranche, seule la révision augmente)

SELECT Tache,Lot,Tranche, max(Révision) as "Révision" 
FROM NORD 
GROUP BY Tache,Tranche,Lot; 


Ma requête marche, cependant, il me faut également ramener les champs Numéro_Métier, Nom_Métier et état, sans pour autant en avoir besoin dans mon
group by

. Si j'insère ces champs dans mon
select

, Access me dit qu'il ne font pas partie de ma fonction d'agrégat, mon
group by

.
Y a t-il une solution pour ramener ces champs ?

Merci d'avance !


2 réponses

Bonsoir,
Ecrite comme cela la requête ne peut pas être améliorée; et Access en signalant que les champs ne font partie d'aucune fonction d'agrégat ne peut pas les "sortir". A ce stade il n'y a pas de solution sauf à les rentrer dans un regroupement.
Pour essayer d'en imaginer une, il faudrait avoir davantage d'informations sur ce qu'ils représentent et la manière dont cette table et les tables adjacentes sont configurées.
Bonne suite.
0
Bonsoir,

Effectivement, merci, j'ai donc repensé ma requête, j'ai d abord crée une table contenant mon premier résultat avec le group by, puis j'ai recoupé avec une deuxième requête pour me sortir les champs dont j'avais besoin.
0
Bonsoir,
En réponse à ce que tu annonces concernant la "création d'une table contenant mon premier résultat avec le group by", je peux te faire remarquer que tu n'en as nul besoin, il te suffit d'imbriquer les requêtes, càd utiliser directement le résultat de la 1ère comme base sur laquelle tu battis la 2ème. Et même, lorsque tu lances cette 2ème, tu n'as pas besoin de lancer la 1ère, Access s'en charge tout seul. Je ne sais pas si tu connaissais cette possibilité, elle simplifie grandement les choses.
Bonne suite
0