Abfrage neuster Wert in SQL

Hallo zusammen,
ich habe eine Tabelle, wo alle Artikeleingänge aufgelistet sind.

Beispiel:
Datum Artikel neuster EK-Preis
10.01.2009 Artikel1 -> 100,00 €
12.01.2009 Artikel2 -> 150,00 €
15.01.2009 Artikel1 -> 120,00 €

Ich habe über 1000 Artikel in dieser Tabelle und der soll zum Bespiel ausgeben “Artikel1 EK-Preis 120,00 €” und das für jeden Artikel.

Gibt es eine Funktion dafür? In Excel gibt es z.B. den Folgenden Befehl:
=DomLetzterWert(“Datumsfeld”;“Tabellenname”;“ID_Feld =” & [ID_Feld])

ungetestet:

select distinct on (artikel) artikel, datum, preis from artikel order by artikel, datum desc;

Andreas

Danke für die Antwort, habe aber schon eine andere Lösung gefunden. Weiß nicht ob diese Besser ist, aber ich habe einfach eine SUB-Abfrage erstellt. Dort lese ich den MAX wert (in diesem Fall eine Entry-No) aus. Diesen Maxwert nehme ich und erstelle meine Abfrage nach dieser Bedigung und es funktioniert. Er gibt mir nur die aktuellsten Zahlen aus.

Danke trotzdem für deine Mühen!

Frage nebenbei: Ich arbeite mit dem SQL Server Management Studio 2005 und erstelle Sichten um diese in Excel wieder auszulesen. Mein Arbeitgeber besteht auf “einfache” Wege, die auch für Ihn nachvollziebar sind (Access, Excel).

Ich habe gelesen bei TSql kann man z.B. Variablen deglarien. Ich selber bin VB.net entwickler und würde gerne von SQL nach TSql wechseln. Habt ihr ein programm, mit dem ich TSQL Programmieren kann, so dass ich z.b. auch SQL Server Business Intelligence Development Studio 2005 verwenden kann. Oder ist es in den angesprochenden Programmen möglich TSQL zu programmieren?

Leider sind meine VB.net Kenntnisse für das Unternehmen (noch) nicht interessant genug.

gruß

tbkessel

Ähm, das hier ist ein PostgreSQL Forum.

Für deine Datenbank gibt es sicher auch genügend passende Foren :wink:

die variante mit distinct on ist aber schneller … Ja (gerade probiert) funktioniert unter SQL-Server auch in dieser Weise … das ist schneller als subqueries … kannst ja mal die plans anschauen