Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 27/06/2011 02:30:37
- zied
- Membre
Requête pour avoir la dernière maj d'une tache dans une table unique
J'ai une table qui permets de gérer l’historique des maj taches d'un projets.
La structure de la table est la suivante
(num_inc, id_tache, contenue_tache,..., date_maj)
Les données exp :
(10, 102, expédier le colis par DHL,..., 02/02/2011)
(15, 102, expédier le colis par UPS,..., 15/02/2011)
(29,102, remettre le colis à mr duond pour le remettre en main propre,..., 17/02/2011)
Je veux faire une requête qui permet de récupérer la dernière maj de ma tache avec l'id 102. Il s'agit donc de la dernière ligne.
Ma question est surement bête mais elle m'échappe
Merci
Dernière modification par zied (27/06/2011 02:31:11)
Hors ligne
#2 27/06/2011 07:49:25
- gleu
- Administrateur
Re : Requête pour avoir la dernière maj d'une tache dans une table unique
SELECT * FROM la_table WHERE id_tache=la_valeur ORDER BY date_maj DESC LIMIT 1
en remplaçant la_table par le nom de la table et la_valeur par l'id recherché
Guillaume.
Hors ligne
#3 27/06/2011 11:34:34
- zied
- Membre
Re : Requête pour avoir la dernière maj d'une tache dans une table unique
Merci mais je pense avoir mal formulé ma question
Je veux récupérer les dernières maj de chaque tache et non pas une seule tache particulière.
Encore merci
Hors ligne
#4 27/06/2011 14:05:21
- arthurr
- Membre
Re : Requête pour avoir la dernière maj d'une tache dans une table unique
select id_tache, max(date_maj) from latable group by id_tache;
Hors ligne
#5 27/06/2011 23:59:09
- zied
- Membre
Re : Requête pour avoir la dernière maj d'une tache dans une table unique
select id_tache, max(date_maj) from latable group by id_tache;
Merci mais ça ne réponds pas à ma question car j'ai besoin d'afficher tous les champs.
Quand j’étends ma requête à tous les champs en les rajoutant dans la clause group by ça me retourne tous les enregistrements de chaque tache.
Dernière modification par zied (28/06/2011 00:02:23)
Hors ligne
#6 28/06/2011 21:46:00
- gleu
- Administrateur
Re : Requête pour avoir la dernière maj d'une tache dans une table unique
Il est toujours possible de faire un :
SELECT latable.* FROM latable, (select id_tache, max(date_maj) from latable group by id_tache) AS tmp WHERE tmp.id_tache=latable.id_tache AND tmp.date_maj=latable.date_maj
Il y a certainement mieux...
Guillaume.
Hors ligne