2016-04-20 2 views
0

Ich hoffe, etwas Hilfe zu bekommen, und auch ich kann mir klar genug erklären, was ich tun muss.Ich muss die Max-ID aus einer Tabelle auswählen, die alle Zeilen zurückgibt

Ich habe die folgende Abfrage:

Dies wird wie folgt zurückgeben Daten (dies ist ein Beispiel für eine bestimmte itemId):

ItemId LastVersion MontUploaded YearUploaded 
1728903 1544371  2    2016 
1728903 1544372  2    2016 
1728903 1544373  3    2016 
1728903 1544374  4    2016 
1728903 1544375  4    2016 
1728903 1544376  4    2016 

Und mein Ziel ist es die letzte abrufen Version eines Dokuments, das jeden Monat hochgeladen wird. Ich möchte das folgende Ergebnis erhalten

ItemId LastVersion MontUploaded YearUploaded 
1728903 1544372  2    2016 
1728903 1544373  3    2016 
1728903 1544376  4    2016 

Ich kann nicht herausfinden, wie man MAX-Anweisung verwendet. Kann mir jemand helfen?

Vielen Dank im Voraus,

Sergio

+0

Sorry, es ist für Microsoft SQL-Server (ich dachte, jeder nutzt Microsoft-Produkte ;-) - nur Spaß) – SergioKastro

Antwort

1

Sie müssen group by Monate und das Jahr der Upload, itemid und wählen Sie das max docid.

SELECT id.ItemId, MAX(id.DocId) AS LastVersion, 
MONTH(d.docUploadDt) as MontUploaded, YEAR(d.docUploadDt) as YearUploaded 
FROM dbo.ItemDocument id 
INNER JOIN dbo.Documents d on id.docId = d.docId 
GROUP BY id.ItemId,YEAR(d.docUploadDt),MONTH(d.docUploadDt) 
+0

Fantastisch !!! Es ist unglaublich, wie schnell Sie die Frage "KORREKT" innerhalb weniger Minuten beantwortet haben. Vielen Dank für Ihre Hilfe – SergioKastro

Verwandte Themen