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
et je lance cette requête :
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 |
mais ça me renvoie ça :
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
ce qui est normal, je l'admets, puisque je groupe par VALEUR1 et VALEUR2
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 |
mais moi ce que je voudrais c'est arriver à ce résultat :
mais quand j'enlève les deux champs dans le group by, il me fait une erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 |DATE |VALEUR1 |VALEUR2 | |200702 | TOTO | MACHIN |
Merci de votre aide! ^^
NB : l'intitulé du champs date est trompeur, en fait ce sont des varchar2(6)
Partager