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
Ich habe ein hoffentlich kleines Problem bei einer Abfrage.
Ich habe eine Tabellenstruktur in dieser Form:
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180946
Url: https://administrator.de/forum/datensaetze-in-einer-tabelle-vergleichen-und-aktuellen-ausgeben-180946.html
Ausgedruckt am: 23.12.2024 um 03:12 Uhr
4 Kommentare
Neuester Kommentar
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