PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbank Query: Letzte releaste Version finden


AtTheDriveIn
2011-03-29, 14:02:28
Hi,

ich bräuchte die beste Möglichkeit aus einer Tabelle mit Teileinformationen jeweils die letzte releaste Version eines Teils zu finden.

Revisionen gehen von 1 -Z, also erst Zahlen und nach 9 kommt dann A.

Beispiel

Teil Rev State
p1 1 Release
p1 2 Release
p2 A not Release
p2 9 Release
p3 1 Release
p1 3 not Released
p3 X Release


Das Ergebnis müßte also folgendes liefern

p1 2
p2 9
p3 X


Danke für die Hilfe

Sephiroth
2011-03-29, 14:22:26
spontan gesagt: filtern nach state=release und ergebnis absteigend sortieren

interzone
2011-03-29, 15:58:18
nein, so funktioniert es nicht, da nach Aufgabenstellung nur das Teil mit der höchsten Rev zurückgegeben werden soll.

Du machst eine Subquery in der Du mit State = Release den MIN Rev Gruppiert auf Teil ermittelst.
Die äußere Query joint nun über Teil und Rev die Subquery (INNER JOIN).

Hmmm, eigentlich brauchst du nur die Subquery...:D

Sephiroth
2011-03-29, 20:55:31
nein, so funktioniert es nicht, da nach Aufgabenstellung nur das Teil mit der höchsten Rev zurückgegeben werden soll.

ach den kleinen unterschied hab ich wohl übersehen ... aber dann einfach groupby

Tabelle2
Teil Rev State
p1 1 Release
p1 2 Release
p2 A not Released
p2 9 Release
p3 1 Release
p1 3 not Released
p3 X Release

Query
SELECT Tabelle2.[Teil], Max(Tabelle2.[Rev]) AS MaxvonRev
FROM Tabelle2
WHERE (((Tabelle2.[State])="Release"))
GROUP BY Tabelle2.[Teil]
ORDER BY Tabelle2.[Teil] DESC;


ergibt
Teil MaxvonRev
p3 X
p2 9
p1 2