Bonjour à tous,

Je voudrais récupérer une (et une seule) ligne dans ma table en filtrant sur le champs date le plus récent.

Structure de ma table, qu'on va appeler TABLE_TEST

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
|DATE   |VALEUR1  |VALEUR2   |
|200501   | TOTO    | TRUC     |
|200605   | TOTO    | TRUC     |
|200702   | TOTO    | MACHIN   |
|200602   | TITI    | MACHIN   |
|200701   | TATA    | CHOSE    |
et je lance cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
select MAX(to_number(A.DATE)), A.VALEUR1, A.VALEUR2
from TABLE_TEST A
group by A.DATE, A.VALEUR1, A.VALEUR2
mais ça me renvoie ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
|DATE   |VALEUR1  |VALEUR2   |
|200605   | TOTO    | TRUC     |
|200702   | TOTO    | MACHIN   |
|200602   | TITI    | MACHIN   |
|200701   | TATA    | CHOSE    |
ce qui est normal, je l'admets, puisque je groupe par VALEUR1 et VALEUR2
mais moi ce que je voudrais c'est arriver à ce résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
|DATE   |VALEUR1  |VALEUR2   |
|200702   | TOTO    | MACHIN   |
mais quand j'enlève les deux champs dans le group by, il me fait une erreur...


Merci de votre aide! ^^

NB : l'intitulé du champs date est trompeur, en fait ce sont des varchar2(6)