Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment récupérer le prix le plus récent par article?

3 réponses
Avatar
stephan
Bonjour,
j’ai recopié ces posts parce qu’ils expliquent exactement mon problème
auquel il faut que j’ajoute cela :
Le prix renvoyé n’est pas le bon, il n’est d’ailleurs pas le même selon que
l’on prenne le premier ou le dernier (la date elle par contre est correcte,
c’est bien la plus récente).
En lisant la doc, il semble que le prix renvoyé est selon l’ordre
chronologique de saisie (dans le groupe REF) et non pas celui correspondant à
l’enregistrement sélectionné avec la date la plus récente.
Comment récupérer le bon prix ?

Merci pour votre aide et votre temps.

Il faut effectivement que tu fasses une requête regroupement.
Tu sélectionnes le champ référence et tu choisis en opération regroupement,
et pour le champ date tu prends le max. Pour le prix tu prends premier ou
dernier, de toute façon, tu n'as qu'un enregistrement pour une date non ?
Arnaud

Bonsoir,
j'ai une table dans laquelle il y a 3 champs
- REF
- Date
-prix
Je peux avoir plusieurs enregistrements pour la même référence, à des dates
différentes et avec des prix différents, je désire faire une requête qui me
donnera par référence le prix le plus récent
Les dates sont au format texte sous la forme AAAAMMJJ
j'essaye d'utiliser la fonction de regroupement Premier ou Dernier, je n'ai
pas de résultat correct

3 réponses

Avatar
Philippe T [MS]
Bonjour,

On doit pouvoir s'en sortir avec une requête du genre :

SELECT REF, prix
FROM MyTable my
INNER JOIN (SELECT DISTINCT REF, MAX(Date) as MaxDate FROM MyTable GROUP BY
REF) reg
ON my.REF = reg.REF AND my.Date = reg.MaxDate

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"stephan" wrote in message
news:
Bonjour,
j'ai recopié ces posts parce qu'ils expliquent exactement mon problème
auquel il faut que j'ajoute cela :
Le prix renvoyé n'est pas le bon, il n'est d'ailleurs pas le même selon
que
l'on prenne le premier ou le dernier (la date elle par contre est
correcte,
c'est bien la plus récente).
En lisant la doc, il semble que le prix renvoyé est selon l'ordre
chronologique de saisie (dans le groupe REF) et non pas celui
correspondant à
l'enregistrement sélectionné avec la date la plus récente.
Comment récupérer le bon prix ?

Merci pour votre aide et votre temps.

Il faut effectivement que tu fasses une requête regroupement.
Tu sélectionnes le champ référence et tu choisis en opération
regroupement,
et pour le champ date tu prends le max. Pour le prix tu prends premier ou
dernier, de toute façon, tu n'as qu'un enregistrement pour une date non ?
Arnaud

Bonsoir,
j'ai une table dans laquelle il y a 3 champs
- REF
- Date
-prix
Je peux avoir plusieurs enregistrements pour la même référence, à des
dates
différentes et avec des prix différents, je désire faire une requête qui
me
donnera par référence le prix le plus récent
Les dates sont au format texte sous la forme AAAAMMJJ
j'essaye d'utiliser la fonction de regroupement Premier ou Dernier, je
n'ai
pas de résultat correct



Avatar
stephan
Bonjour Philippe et merci, je crois être sur la voie mais je ne suis pas
encore (tout juste débutant)
Voici la requête que j'essaie de créer suivant ce conseil:

SELECT Stkrm, Item, [Qty Avail], [Order Date]
FROM [Canada Fillrate Analysis]
my INNER JOIN
(SELECT Stkrm, Item, Max([Order Date]) as MaxDate
FROM [Canada Fillrate Analysis]
GROUP BY [Canada Fillrate Analysis].Stkrm, [Canada Fillrate Analysis].Item
ORDER BY [Canada Fillrate Analysis].Stkrm, [Canada Fillrate Analysis].Item)
reg ON
my.Stkrm=reg.Stkrm AND my.Item=reg.Item AND my.[Order Date]=reg.MaxDate

Quand j'essaie de sauvegarder cela dans la requête (accéedée en mode SQL à
partir du mode création) il y a une erreur Microsoft avec envoi de rapport,...
La requête est-elle bonne telle que ci-dessus,
et si oui comment avancer?
Merci encore


"Philippe T [MS]" wrote:

Bonjour,

On doit pouvoir s'en sortir avec une requête du genre :

SELECT REF, prix
FROM MyTable my
INNER JOIN (SELECT DISTINCT REF, MAX(Date) as MaxDate FROM MyTable GROUP BY
REF) reg
ON my.REF = reg.REF AND my.Date = reg.MaxDate

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"stephan" wrote in message
news:
Bonjour,
j'ai recopié ces posts parce qu'ils expliquent exactement mon problème
auquel il faut que j'ajoute cela :
Le prix renvoyé n'est pas le bon, il n'est d'ailleurs pas le même selon
que
l'on prenne le premier ou le dernier (la date elle par contre est
correcte,
c'est bien la plus récente).
En lisant la doc, il semble que le prix renvoyé est selon l'ordre
chronologique de saisie (dans le groupe REF) et non pas celui
correspondant à
l'enregistrement sélectionné avec la date la plus récente.
Comment récupérer le bon prix ?

Merci pour votre aide et votre temps.

Il faut effectivement que tu fasses une requête regroupement.
Tu sélectionnes le champ référence et tu choisis en opération
regroupement,
et pour le champ date tu prends le max. Pour le prix tu prends premier ou
dernier, de toute façon, tu n'as qu'un enregistrement pour une date non ?
Arnaud

Bonsoir,
j'ai une table dans laquelle il y a 3 champs
- REF
- Date
-prix
Je peux avoir plusieurs enregistrements pour la même référence, à des
dates
différentes et avec des prix différents, je désire faire une requête qui
me
donnera par référence le prix le plus récent
Les dates sont au format texte sous la forme AAAAMMJJ
j'essaye d'utiliser la fonction de regroupement Premier ou Dernier, je
n'ai
pas de résultat correct








Avatar
Philippe T [MS]
Bonjour,

Je suis plutôt spécialisé SQL que Access mais je pense que vous devriez
écrire :

SELECT Stkrm, Item, [Qty Avail], [Order Date]
FROM [Canada Fillrate Analysis] my
INNER JOIN
(SELECT Stkrm, Item, Max([Order Date]) as MaxDate
FROM [Canada Fillrate Analysis]
GROUP BY [Canada Fillrate Analysis].Stkrm, [Canada Fillrate
Analysis].Item) reg
ON my.Stkrm=reg.Stkrm AND my.Item=reg.Item AND my.[Order Date]=reg.MaxDate
ORDER BY my.Stkrm, my.Item

Le ORDER BY que vous aviez placé dans le deuxième SELECT ne doit pas
fonctionner

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"stephan" wrote in message
news:
Bonjour Philippe et merci, je crois être sur la voie mais je ne suis pas
encore (tout juste débutant)
Voici la requête que j'essaie de créer suivant ce conseil:

SELECT Stkrm, Item, [Qty Avail], [Order Date]
FROM [Canada Fillrate Analysis]
my INNER JOIN
(SELECT Stkrm, Item, Max([Order Date]) as MaxDate
FROM [Canada Fillrate Analysis]
GROUP BY [Canada Fillrate Analysis].Stkrm, [Canada Fillrate Analysis].Item
ORDER BY [Canada Fillrate Analysis].Stkrm, [Canada Fillrate
Analysis].Item)
reg ON
my.Stkrm=reg.Stkrm AND my.Item=reg.Item AND my.[Order Date]=reg.MaxDate

Quand j'essaie de sauvegarder cela dans la requête (accéedée en mode SQL à
partir du mode création) il y a une erreur Microsoft avec envoi de
rapport,...
La requête est-elle bonne telle que ci-dessus,
et si oui comment avancer?
Merci encore


"Philippe T [MS]" wrote:

Bonjour,

On doit pouvoir s'en sortir avec une requête du genre :

SELECT REF, prix
FROM MyTable my
INNER JOIN (SELECT DISTINCT REF, MAX(Date) as MaxDate FROM MyTable GROUP
BY
REF) reg
ON my.REF = reg.REF AND my.Date = reg.MaxDate

----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"stephan" wrote in message
news:
Bonjour,
j'ai recopié ces posts parce qu'ils expliquent exactement mon problème
auquel il faut que j'ajoute cela :
Le prix renvoyé n'est pas le bon, il n'est d'ailleurs pas le même selon
que
l'on prenne le premier ou le dernier (la date elle par contre est
correcte,
c'est bien la plus récente).
En lisant la doc, il semble que le prix renvoyé est selon l'ordre
chronologique de saisie (dans le groupe REF) et non pas celui
correspondant à
l'enregistrement sélectionné avec la date la plus récente.
Comment récupérer le bon prix ?

Merci pour votre aide et votre temps.

Il faut effectivement que tu fasses une requête regroupement.
Tu sélectionnes le champ référence et tu choisis en opération
regroupement,
et pour le champ date tu prends le max. Pour le prix tu prends premier
ou
dernier, de toute façon, tu n'as qu'un enregistrement pour une date non
?
Arnaud

Bonsoir,
j'ai une table dans laquelle il y a 3 champs
- REF
- Date
-prix
Je peux avoir plusieurs enregistrements pour la même référence, à des
dates
différentes et avec des prix différents, je désire faire une requête
qui
me
donnera par référence le prix le plus récent
Les dates sont au format texte sous la forme AAAAMMJJ
j'essaye d'utiliser la fonction de regroupement Premier ou Dernier, je
n'ai
pas de résultat correct