|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : février 2006 Messages : 337 ![]() |
Bonjour tout le monde
J'ai la table suivante (table.png) avec les 3 colonne PK, FK et TIME le PK est une clé primaire. chaque FK peut avoir plusieurs TIME ![]() Comment faire pour récupérer pour chaque FK le MAX du TIME mais avec le PK correspondant Bref, je veux avoir le résultat suivant mais avec une colonne supplémentaire qui est le PK Code SQL :
D'avance merci
__________________
Ubuntu 8.04 LTS Hardy |
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Tony Développeur .NET Inscription : novembre 2010 Messages : 570 ![]() |
Attention, la date max peut être trouvée pour 2 PK différentes je suppose.
Moi je te conseille de faire un select avec un where not in, and dans celui-ci tu cherche le max. Tu met les group by qu'il faut et l'affaire est jouée
__________________
Le Porc est un loup pour le Porc. |
|
|
00
|
|
|
#3 | ||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
Un grand classique...
Cela fait partie des requêtes qui sont données au moins une fois par mois sur ces forums. Je vais être gentil et te donner une réponse, même si l'envie me titille de te demander de chercher un peu Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||
|
|
10
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
Bonjour,
Selon votre SGBD une fonction de fenetrage pourra réaliser ceci avec 1 seul scannage de table (contre 2 ici). regardez du coté des fonctions : Keep(), row_number(), etc |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : février 2006 Messages : 337 ![]() |
Merci pour vos réponse
@punkoff j'utilise Oracle 10g @al1_24 Ta requête marche super bien merci Toute fois, j'ai encore une petite question: ici tab est une requête de quelque lignes, y'a-t-il une méthode de ne pas répéter deux fois ma même sous requêtes ?
__________________
Ubuntu 8.04 LTS Hardy |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Tu peux utiliser la fonction WITH pour ça :
Code :
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
bonjour,
Oracle 10g dans ce cas ... http://lalystar.developpez.com/fonct...lytiques/#L3.9 Code :
|
||
|
|
20
|
Copyright © 2000-2012 - www.developpez.com