Bonjour à tous,

Je suis débutante en SQL et je galère depuis quelques temps sur une requête.

Je possède 3 tables: T01, T02 et T03
Je souhaite lier ces 3 tables et piocher les paramètres suivants: T02.CSCI, T01.DEDT, T01.CPER, T01.LRAD, T02.NUCH, T03.CPCK, T03.NBVI, T03.NUVI, T03.CNVA, T01.NFCD pour obtenir ce genre de tableau là:
CSCI DEDT CPER LRAD NUCH CPCK NBVI NUVI CNVA NFCD
01 11/12/2015 3000 X Y PA1 2 2 A21 8000
01 12/12/2014 3000 X Y PA1 2 1 A11 8001

Mon problème, c'est que j'aimerais faire un regroupement sur la colonne T01.CPER en gardant la ligne où T01.DEDT est la plus récente (donc ma première ligne dans mon tableau d'exemple). J'ai du coup essayer avec un Group by en mettant dans mon SELECT: max(T01.DEDT). Mais ça ne fonctionne pas. Il garde quand même les deux lignes.

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
SELECT
             T02.CSCI
	     ,MAX(T01.DEDT) AS DEDT
	     ,T01.CPER
	     ,T01.LRAD
	     ,T02.NUCH
	     ,T03.CPCK
	     ,T03.NBVI
	     ,T03.NUVI
	     ,T03.CNVA
       	     ,T01.NFCD
 
   FROM  T01
  INNER JOIN T02 ON(T01.CPER = T02.CPER)
  LEFT OUTER JOIN T03 ON (T01.NFCD=T03.NFCD)          
 
   WHERE     
  T03.NUVI<>T03.NBVI      
 
 
   GROUP BY T01.CPER, T02.CSCI, T01.LRAD, T02.NUCH, T03.CPCK, T03.NBVI, T03.CNVA, T01.NFCD, T03.NUVI
Si vous pouviez m'aiguiller, ce serait super.
Merci d'avance pour vos réponses.