Hello

Je bloque sur un sacré probleme SQL qu'MS Access réalise sans probléme via une fonction interne LAST - qui n existe pas en SQL.

Donc j'ai une table DISCUSSIONS avec 4 champs
- Discussion = id de la discussion
- Commentaire = id du commentaire - chaque discussion ayant plusieurs commentaires
- Date = date du commentaire
- Txt = le texte du commentaire

L'objectif est de crée une table qui contient les 4 champs mais uniquement le dernier commentaire de chaque discussion.
Par exemple sur les premiers enregistrements ci-dessous, l'objectif est de ne sélectionner que ce qui est surligné en vert:

Nom : 989966table.jpg
Affichages : 153
Taille : 30,1 Ko
Blague inside - vous remarquerez que les mecs ont pas un vocabulaire très élaboré
Bon trêve de plaisanteries, avec Access, cela prend 1 minute, il suffit d'utiliser la fonction interne LAST et de l'appliquer a tous les champs sauf l'ID de la discussion qu'on groupe.

Nom : 192863query.jpg
Affichages : 148
Taille : 23,2 Ko


Maintenant comment faire en SQL ?!!!

On a diverses pistes avec select top1 d'une sous table, ou avec max qui peut remplacer last

Mais a chaque fois le problème c'est de rapatrier le champ Txt sur lequel on ne peut pas faire de regroupement sous peine de se retrouver avec plusieurs entrées par discussion vu que chaque commentaire est différent....

Quelqu'un aurait il une solution ?

Voici un échantillon maquillé de la table si certain veulent tester:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Discussion	Commentaire	Date	Txt
5121624	10528551	03/08/2015	!15
5115202	10512847	31/07/2015	!15
5115202	10515924	21/07/2015	!ed
5109022	10512723	31/07/2015	!e.
5105199	10491278	28/07/2015	!ul
5102347	10528278	03/08/2015	!15
5096132	10465807	24/07/2015	!40
5096132	10491082	28/07/2015	!ul
5096048	10468303	24/07/2015	!n.
5093189	10450602	22/07/2015	!OZ
5093189	10468872	24/07/2015	!re
5092970	10452443	22/07/2015	!d.
5092970	10491044	28/07/2015	!ul
5090356	10537706	04/08/2015	!p.
5086841	10468871	24/07/2015	!r.
5086515	10451717	22/07/2015	!57
5086515	10465768	24/07/2015	Ak.
5086515	10522173	02/08/2015	!ss
5086487	10450301	22/07/2015	!OZ
5086211	10515918	31/07/2015	!ed
5081965	10515909	31/07/2015	!ed
5081642	10465872	24/07/2015	!DD
5081642	10514454	31/07/2015	!ed
5074566	10505236	30/07/2015	!ed
5072378	10522171	02/08/2015	!ss
5071086	10451962	22/07/2015	!4.
5071086	10460145	23/07/2015	!n.
5071086	10465307	24/07/2015	!n.
5071086	10466872	24/07/2015	!st
5061729	10409529	15/07/2015	Ded
Je vous remercie d avance pour votre aide