Bonjour a tous,
J'ai un probleme sur le double datage de donnees et leur selection. En gros, j'ai une table qui contient des donnees relatives a la valeur d'un objet pour une date donnee.
Cette valeur n'est pas forcement connue a la date T et peut fluctuer avant que sa valeur soit definitivement determinee.
Par exemple, le prix de l'objet A au 01-04-2009 avait ete estime etre 400€ le 29-03-2009, revu a 390€ le 02-04-2009 et le reporting nous dit le 03-04-2009 qu'en fait il etait a 410€.
Au lieu d'update la table pour changer la valeur au fur et a mesure, on veut pouvoir garder une trace des fluctuations des estimations. Ainsi la table a les champs suivant:
id_object | date_value | entry_date | value
Si on reprend mon exemple on aurait les entrees suivantes :
001 | 01-04-2009 | 29-03-2009 | 400
001 | 01-04-2009 | 02-04-2009 | 390
001 | 01-04-2009 | 03-04-2009 | 410
Maintenant ce que j'aimerai c'est recuperer dans une query l'entree pour chaque objet qui corresponde au dernier prix que l'on aura entre (prix qui s'avere etre le plus exact).
J'ai tente d'utiliser cette query:
Code :
- SELECT id_object, date_value, Max(entry_date), value
- FROM objet_price
- GROUP BY id_object
|
Mais ca ne me donne pas les entry correspondantes a la Max(entry_date) qui sont celle que j'aimerai pour chaque date_value et id_object.
Je ne dois pas regarder le probleme comme il faut mais je ne vois pas trop d'autre solution si ce n'est de selectionner chaque id_object/date_value et de refaire une query ou je selectionnerai la valeur maximum