Mon problème est (d'apparence) simple : je veux récupérer le dernier IDCommandeSuiviColis de chaque IdentifiantColis trié par DateEvenement, HeureEvenement puis IDCommandeSuiviColis.

Voici ma structure de table simplifiée (je ne suis pas responsable de la structure et ne peux la modifier) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE [COMMANDE_SUIVI_COLIS] (
	[IDCommandeSuiviColis] int IDENTITY(1,1) NOT NULL,
	[DateEvenement] datetime NULL,
	[HeureEvenement] datetime NULL,
	[IDCommande] int NULL,
	[IDCommandeSuiviEvenement] int NULL,
	[IdentifiantColis] varchar(20) COLLATE French_CI_AS NULL
)
Voici un jeu de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('1', '2011-11-15 00:00:00.0', '1900-01-01 08:57:00.0', '1646', '166', '123456789       ');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('2', '2011-11-15 00:00:00.0', '1900-01-01 08:57:00.0', '1646', '164', '123456789       ');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('3', '2011-11-15 00:00:00.0', '1900-01-01 08:57:00.0', '1646', '169', '123456789       ');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('4', '2011-11-15 00:00:00.0', '1900-01-01 08:57:00.0', '1646', '171', '123456789       ');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('5', '2011-12-08 00:00:00.0', '1900-01-01 12:13:00.0', '1646', '166', '3411061000008517');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('6', '2011-11-08 00:00:00.0', '1900-01-01 12:13:00.0', '1646', '33', '3411061000008517');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('7', '2011-11-08 00:00:00.0', '1900-01-01 12:13:00.0', '1646', '50', '3411061000008517');
INSERT INTO [COMMANDE_SUIVI_COLIS] ([IDCommandeSuiviColis], [DateEvenement], [HeureEvenement], [IDCommande], [IDCommandeSuiviEvenement], [IdentifiantColis]) VALUES ('8', '2011-11-08 00:00:00.0', '1900-01-01 12:13:00.0', '1646', '21', '3411061000008517');
Pour le jeu de test suivi, je dois obtenir : 4 (identifiantcolis 123456789) et 5 (identifiantcolis 3411061000008517).

Merci de votre aide.