|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Bonjour à tous,
J'ai dans un table "RA" une colonne ID. Ici ID est unique Dans une seconde table "ASG" une colonne ID dans laquelle on retrouve l'ID de la table RA mais que l'on peut retrouver plusieurs fois.. On a aussi un autre champ stamp qui est une date. Ex: dans table RA : ID000001 ID000002 ID000003 ... dans table ASG : ----ID-----------------Stamp ID000001- - - - - - - 2011/01/20 ID000001- - - - - - - 2010/12/21 ID000002- - - - - - - 2010/03/15 ID000003- - - - - - - 2010/07/08 ID000003- - - - - - - 2010/07/12 ID000003- - - - - - - 2010/08/11 Ma question : Comment retourner les ID de la table RA (+ d'autres champs) en faisant une jointure sur la table ASG (par ID) et en ne retournant que les lignes dont la date est la plus "jeune". NOTA : Stamp ne fait pas partie des champs retournés mais uniquement utilisé dans la clause WHERE. Merci de votre aide. |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Avec la fonction row_number :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() |
Merci pour ces réponses.
Dans les 2 cas apparemment je suis obligé de sélectionner le champ stamp dans le SELECT or ce n'est pas une info voulue comme retournée. Ai-je vraiment le choix si je souhaite parvenir au résultat escompté ? Merci |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
ca change le besoin !
Donne un exemple de ce que tu veux avoir ! Un seul id (correspondant au 'STAMP' le plus récent ) ?
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() |
Oui c'est ça.
Je souhaite récupérer l'ID dont le STAMP est le plus récent. Dans mon exemple initial ça donnerait : dans table RA : ID000001 ID000002 ID000003 ... dans table ASG : ----ID-----------------Stamp ID000001- - - - - - - 2011/01/20 ID000001- - - - - - - 2010/12/21 ID000002- - - - - - - 2010/03/15 ID000003- - - - - - - 2010/07/08 ID000003- - - - - - - 2010/07/12 ID000003- - - - - - - 2010/08/11 résultat attendu : ID000001- - - - - - - 2011/01/20 ID000002- - - - - - - 2010/03/15 ID000003- - - - - - - 2010/08/11 |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Alors, sauf erreur, les réponses données sont correctes !!!!! (OVER PARTITION)
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() |
Pardon. Je me suis mal exprimé.
Les données à retourner sont uniquement les ID mais pas les stamps. Merci pour votre aide. |
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
C'est incompréhensible !!!!!!
![]() Si tu ne veux que les id, pourquoi faire une sélection sur la date 'la plus jeune' ?????? Un simple requete comme ne suffirait-elle pas ? PS : C'est en contradiction avec ta demande !!! Citation:
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
|
00
|
|
|
#10 | |||
![]() ![]() |
L'incompréhension vient d'ici je pense :
Citation:
Code :
__________________
Email : http://scr.im/waldar |
|||
|
00
|
|
|
#11 |
|
Invité régulier
![]() |
Je voulais présenter la chose de manière simple mais au final ça embrouille tout le monde
![]() Dans mon select je requête sur les 2 tables (RA et ASG). Je dois aller chercher des infos autres que celle présentées ici dans les 2 tables. Une en particulier qui est le nom d'un bonhomme dans la table ASG. OR je ne dois récupérer le nom du gars dont la date est la plus jeune dans la table ASG. Pour compléter ce que dit précedemment : dans table RA : ID000001 ID000002 ID000003 ... dans table ASG : ----ID-----------------Stamp--------user ID000001- - - - - - - 2011/01/20-----roger ID000001- - - - - - - 2010/12/21-----michel ID000002- - - - - - - 2010/03/15-----dédé ID000003- - - - - - - 2010/07/08-----dédé ID000003- - - - - - - 2010/07/12-----robert ID000003- - - - - - - 2010/08/11-----michel Je dois récupérer les ID et les bonhommes et ici ce serait : ID000001-----roger ID000002-----dédé ID000003-----michel J'espère que c'est plus clair. ![]()
|
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Voir la solution de waldar en remplacant 'COL' par user !
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Un simple group by suffit
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com