Datensätze in einer Tabelle vergleichen und aktuellen ausgeben
Hallo liebe Community,
Ich habe ein hoffentlich kleines Problem bei einer Abfrage.
Ich habe eine Tabellenstruktur in dieser Form:
Ich brauche nun zu den Artikeln die aktuell gültigen Preise. Also eine Ausgabe in dieser Form:
Irgendwie komme ich da aber nicht hin. Wie müsste ich denn die Abfrage gestalten um zum gewünschten Ergebnis zu kommen?
Vielen Dank schon mal
Andreas
Artikelgruppe | Artikel | Preis gültig ab | Preis
------------------------------------------------------------
10 | 123 | 01.01.2011 | 2,50
10 | 123 | 20.05.2011 | 2,99
10 | 234 | 01.01.2011 | 2,50
10 | 345 | 01.01.2011 | 2,50
10 | 345 | 31.08.2011 | 1,99
Artikelgruppe | Artikel | Preis gültig ab | Preis
------------------------------------------------------------
10 | 123 | 20.05.2011 | 2,99
10 | 234 | 01.01.2011 | 2,50
10 | 335 | 31.08.2011 | 1,99
Vielen Dank schon mal
Andreas
Please also mark the comments that contributed to the solution of the article
Content-Key: 180946
Url: https://administrator.de/contentid/180946
Printed on: April 24, 2024 at 00:04 o'clock
4 Comments
Latest comment
Sers,
da du nicht gesagt hast, welche DB du verwendest, hier mal ein Schuss ins Blaue..
Hier die Tabelle ArtPreise:
und dann hier der Select:
ergibt folgendes Ergebnis:
so long,
pi314
da du nicht gesagt hast, welche DB du verwendest, hier mal ein Schuss ins Blaue..
Hier die Tabelle ArtPreise:
Grp Art Gueltig Preis
10 123 01.01.2011 2,5
10 123 20.05.2011 2,99
10 234 01.01.2011 2,5
10 345 01.01.2011 2,5
10 345 31.08.2013 1,99
select a.*
from artpreise a
join (select art, max( gueltig ) maxGueltig
from artpreise
where gueltig <= sysdate
group by art) b on (b.art = a.art and
b.maxGueltig = a.gueltig)
;
ergibt folgendes Ergebnis:
Grp Art Gueltig Preis
10 123 20.05.2011 2,99
10 234 01.01.2011 2,5
10 345 01.01.2011 2,5
so long,
pi314