Probleme mit max(datum)

ratze79

Mitglied
Hallo zusammen,

ich glaube ich habe gerade einfach ein brett vor dem Kopf.

Ich habe eine Historien-Tabelle in der Artikel stehen, wenn Änderungen an einem Artikel vorgenommen werden, landen sie in der Historie.

Es werden das Änderungsdatum und User protokolliert. Ich möchte jetzt eine Abfrage schreiben die nur die letzte Änderung an einem Artikel enthält.

also:
Select max(datum)

wenn ich jetzt aber auch den User ausgeben will, bekomme ich zu einem Artikel mehrere Ausgaben wenn dieser an einem Tag von verschiedenen Usern geändert wurde, da ich den User ja ins group by schreiben muss.

Kann mir jemand einen Denkanstoß geben.

Ich benutzte MS-SQL2005

Danke im voraus

Gruß Ratze
 
Hi,
du darfst den User eben genau deswegen nicht mit ins group by nehmen, sondern musst ihn nachher per Join über das aktuellste Datum des Artikels rausfinden.
 
Hallo ratze79,

versuchs mal so:
SQL:
SELECT     Artikel.ArtikelNr, SubArtikel.Aenderungsdatum, Artikel.User
FROM         (SELECT     ArtikelNr, MAX(Aenderungsdatum) AS Aenderungsdatum
                       FROM          Artikel
                       GROUP BY ArtikelNr) AS SubArtikel 
INNER JOIN Artikel ON SubArtikel.ArtikelNr = Artikel.ArtikelNr 
     AND SubArtikel.Aenderungsdatum = Artikel.Aenderungsdatum
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück