Comment faire pour joindre la table pour lui-même et sélectionnez max les valeurs dans SQL
J'ai un contracts
table:
contractId date price partId
1 20120121 10 1
2 20110130 9 1
3 20130101 15 2
4 20110101 20 2
Le contrat avec la plus grande date
étant le contrat actif (ne me blâmez pas, je blâme d'infor pour la création de xpps)
J'ai besoin de créer une requête pour voir uniquement actif contrats (un contrat par une partie, le contrat avec la plus grande date).
Donc le résultat de la requête devrait ressembler à ceci:
contractId date price partId
1 20120121 10 1
3 20130101 15 2
Je suis à court d'idées ici, j'ai essayé l'auto jointure de la table, j'ai essayé de fonctions d'agrégation, mais je ne peux pas le comprendre. Si quelqu'un aurait une idée, merci de les partager avec moi..
Ce sgbdr comme MySql ou Sql-Server que vous utilisez?
Je suis désolé pour cette erreur, je suis un peu fatigué assis toute la journée devant émulateur telnet à essayer de comprendre ce querry.. je suis en utilisant le DB/2 sur IBM as/400.
Basé sur les tags, le sgbd est officiellement "DB2 for i". (Le système qui est actuellement connu comme IBM PowerSystem exécution d'IBM-je. Ils n'ont pas vendu un as/400 depuis 2000.)
query
est tout simplement parfait, avec juste un seul r
...Je suis désolé pour cette erreur, je suis un peu fatigué assis toute la journée devant émulateur telnet à essayer de comprendre ce querry.. je suis en utilisant le DB/2 sur IBM as/400.
Basé sur les tags, le sgbd est officiellement "DB2 for i". (Le système qui est actuellement connu comme IBM PowerSystem exécution d'IBM-je. Ils n'ont pas vendu un as/400 depuis 2000.)
OriginalL'auteur Jakub Konop | 2012-11-29
Vous devez vous connecter pour publier un commentaire.
cela fonctionne sur presque tous les Sgbdr,
si votre SGBDR prend en charge
Window Function
,OriginalL'auteur John Woo
OriginalL'auteur Rich.Carpenter