Bei doppelten Einträgen, nur die mit dem letzen Datu

Bei doppelten Einträgen, nur die mit dem letzen Datu

am 26.09.2007 06:52:15 von Peter Nolle

Hi
stehe hier gerade vor einem kleinem Problem. Ich habe eine Tabelle in der
Preise zu einzelnen Artikel gespeichert werden. Diese Tabelle hat den
Aufbau:
Artikelnummer | Preis | Datum
Nun ist die Artikelnummer in dieser Tabelle jedoch nicht eindeutig, da zu
einem Artikel mehrere Preise (und verschiedenem Datum) hinterlegt sein
können.
Nun würde ich gerne aus der Tabelle alle Datensätze auslesen, wobei mich
jedoch immer nur der neuste Preis intressiert, so dass ich jeden Artikel nur
einmal sehe.
Im Moment habe ich mir mit einem kleinen Workaround geholfen, in dem ich
eine weitere Spalte mit dem Namen Aktiv angelegt habe. Diese Spalte hat
entweder nur 0 oder 1. Das Frontend der Datanbank kümmert sich darum, dass
immer nur das letzte Datum eines Artikel auf 1 gesetzt ist, und so kann ich
die Information die ich brauche mit einer einfachen WHERE Klausel fahren.
Allerdings halte ich diese Methode für zu fehleranfällig, da hier Daten
doppelt gespiechrt werden.
Wäre also dankbar, wenn mir jemand auf die Sprünge helfen könnte. Auch würde
ich mich intressieren, ob der Lösungsweg SQL-konform ist. Bzw ob ich
drastische Performanceverluste zwischen meiner aktuellen und der gesuchten
Lösung erwarten kann (bei ca 100000 Datensätzen).

Peter

Re: Bei doppelten Einträgen,nur die mit dem letzen Datum zurückgeben

am 26.09.2007 07:34:32 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de