Problème avec l'utilisation de Group by
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:
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.