bonjour, j'utilise une base de type sql server
voici un extrait de ma base
gde_gui_id gde_doc_id gde_eta_id gde_dat_upd
95 1 1 2012-05-27 01:36:20.930
95 1 3 2012-06-28 00:00:00.000
95 2 1 2012-04-27 01:36:20.930
95 2 2 2012-05-27 01:36:20.930
gde_gui_id et gde_doc_id sont la clé primaire
gde_dat_upd est la date de maj
mon souhait : pour chaque couple gde_gui_id + gde_doc_id, je dosi afficher la ligne dont gde_dat_upd est le MAX
je dois récupérer les 2 lignes suivantes
gde_gui_id gde_doc_id gde_eta_id gde_dat_upd
95 1 3 2012-06-28 00:00:00.000
95 2 2 2012-05-27 01:36:20.930
j'ai testé divers requête MAX, GROUP BY... et je me retrouve avec une seul ligne :
95 1 3 2012-06-28 00:00:00.000
pouvez-vous me proposer une requête s'il vous plaît?
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT gde_gui_id, gde_doc_id, gde_dat_upd FROM guides_documents_etats WHERE gde_gui_id = 95 AND gde_dat_upd = (SELECT MAX(gde_dat_upd) FROM guides_documents_etats as gde WHERE gde.gde_gui_id = gde_gui_id AND gde.gde_doc_id = gde_doc_id) group by gde_gui_id, gde_doc_id, gde_dat_upd
Partager