Bonjoir
J'ai une table tasks_history :
où update_date est un champ au format date ISO (AAAA-MM-JJ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create table if not exists tasks_history ( id_task integer not null, unit_cost real, quantity real, end_date text, update_date text );
Cette table permet d'avoir un historique des modifications effectuées sur une autre table (tasks), comme un log.
Est il possible d'obtenir un état des taches à une date donnée ?
ex :
Ceci signifie que j'ai 2 taches : la 1 qui a été mise à jour le 10/10, le 20/10 et 30/10, et la 2 qu'on a jamais mis a jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 1 | 60 | 32 | 2009-11-13 | 2009-09-25 2 | 60 | 40 | 2009-10-30 | 2009-09-25 1 | 60 | 40 | 2009-11-13 | 2009-10-10 1 | 60 | 48 | 2009-11-20 | 2009-10-20 1 | 60 | 48 | 2009-11-13 | 2009-10-30
Ce que je recherche, c'est avoir l'état de toutes mes taches à une date donnée.
Pour le 01/10, je voudrais :
Pour le 15/10, je voudrais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 1 | 60 | 32 | 2009-11-13 | 2009-09-25 2 | 60 | 40 | 2009-10-30 | 2009-09-25
Pour une tache, c'est facile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 1 | 60 | 40 | 2009-11-13 | 2009-10-10 2 | 60 | 40 | 2009-10-30 | 2009-09-25
Mais pour avoir l'ensemble des taches, je sèche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select * from tasks_history where update_date <= "2009-10-15" and id_task = 1 order by update_date desc limit 1
C'est jouable, où bien faut il que je le fasse pour chaque tache coté client ?
Bonne fin de week end
Partager