|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() ludovic Chef de projet MOA Inscription : janvier 2012 Messages : 2 ![]() |
Bonjour,
Je n'arrive pas à trouver la syntaxe (sans mêler 2 select imbriqués) qui me permettrait de sortir le résultat suivant de la table ci dessous. Par avancer merci pour vos retours, Cordialement. Table: Loc Occ Date 1 1 01/01/2011 1 2 01/03/2011 1 3 01/02/2012 2 1 01/01/2011 2 2 3 1 01/01/2011 3 2 01/02/2012 Retour souhaité : 1 3 01/02/2012 3 2 01/02/2012 Je souhaite donc récupérer le Loc, le max(Occ) et sa date, que quand le max(occ) par loc a une date de renseignée. |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Avec une fonction de fenêtrage :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() ludovic Chef de projet MOA Inscription : janvier 2012 Messages : 2 ![]() |
Merci pour vôtre réponse.
Par contre je n'ai pas du être assez explicite sur le contexte et je n'arrive donc pas à reproduire cette syntaxe. (Peut être n'aurais je pas du poster cette question ici). Contexte: Le fichier est sur une base oracle. J'utilise Windev (ou progress) pour attaquer ce fichier par ODBC. Dans le cas précis j'aimerais utiliser un SQLexec(......) Si je comprends vôtre syntaxe vous stockez une colonne complémentaire dans le fichier pour indiquer quelle ligne est au max(occ), ce qui permet ensuite de faire un simple select avec conditions. Mais je ne peux altérer la BDD source et le "row_number() over(partition BY Loc ORDER BY Occ DESC)" n'est pas une syntaxe reconnue. Y a t il une autre solution ? Merci de vôtre patience
|
|
|
00
|
|
|
#4 |
![]() ![]() |
Effectivement vous étiez sur le forum Microsoft SQL-Server, j'ai déplacé chez Oracle. J'ai du légèrement modifier le code.
row_number() existe depuis la 8i. Quelle est votre version ?
__________________
Email : http://scr.im/waldar |
|
00
|
Copyright © 2000-2012 - www.developpez.com