Bonsoir à toutes et tous,
après avoir fouillé le forum et m'être trituré les méninges une bonne partie de la journée (et de la dernière nuit également), je me résous à faire appel à vos lumières ; j'en profite d'ailleurs pour m'excuser par avance si la réponse se trouve déjà dans vos archives.
Je souhaite stocker dans une table des informations susceptibles d'être modifiées dans le temps. Par ailleurs je voudrais que les modifications soient enregistrées sans écraser l'ancienne valeur afin de conserver un historique. Enfin, je veux pouvoir enregistrer à l'avance des modification à compter d'une certaine date.
Dans cette optique j'ai une table qui ressemble, en gros à ça :
+-------+------------------+-------------+-----------------+
|...id...|...parent_id...|...valeur...|.....début.....|
+-------+------------------+-------------+-----------------+
|...1....|........1.........|......10.....|..2012-01-13.| # l'item 1 est créé avec une valeur de 10
|...2....|........2.........|......10.....|..2012-01-13.| # l'item 2 est créé avec une valeur de 10
|...3....|........1.........|......15.....|..2012-01-15.| # l'item 1 prendra la valeur 15
|...4....|........2.........|......50.....|..2012-01-18.| # l'item 2 prendra la valeur 50
|...5....|........1.........|....100.....|..2012-01-20.| # l'item 1 prendra la valeur 100
+-------+------------------+-------------+-----------------+
Premièrement, je souhaite savoir si ma méthode n'a pas un gros vice caché que je n'aurais pas remarqué.
Cette table me donne satisfaction sauf au moment d'afficher la fois la valeur courante et les modifications prévues : je ne parviens pas à sélectionner à la fois les valeurs futures (avec debut>CURDATE() ) et la valeur courante (avec debut<CURDATE() ORDER BY debut DESC LIMIT 0,1 ).
Je ne parviens à mes fins qu'en faisant 2 requêtes et je me dis qu'un cas comme le mien ne doit pas être exceptionnel et qu'une solution doit exister. J'ai bien pensé à rajouter une colonne "fin" mais ça me semble redondant vu qu'on peut la déduire de la colonne "debut".
Bref, j'ai besoin d'un peu d'aide pour monter ma super requête qui sélectionne la valeur courante à la date voulue ainsi que les modifications ultérieures.
Je vous remercie par avance de l'attention que vous me prêterez; et bonne soirée
Yann
Partager