SQL Abfrage Datensatz Datum zuordnen

Hallo ich bin neu hier und bräuchte mal etwas Hilfe zu SQL

Ich hab eine Rechnung mit Artikelnr und Rechnungsdatum, per Abfrage zieht sich die Rechnung die Preise zu den Artikelnr aus einer „Stammtabelle“.

Nun hab ich in der „Stammtabelle“ Preisänderungen, wobei die Artikelnr + geänderter Preis einfach stumpf an die bestehende Tabelle angefügt wird (ich weiß das ist nicht besonders elegant, weil Artikelnr dann n-Fach vorkommen, stört mich aber vorerst nicht).

Ich möchte folgendes per SQL-Abfrage Formulieren:

Wenn Rechnungsdatum >= [Preisänderungs Datum] und Rechnungsdatum

kannst du ein stückchen der Tabelle als Muster hierherstellen und dann sagen was aus dem Select herauskommen soll ?

Danke schonmal für die schnelle Rückmeldung!

Tabelle Rechnung:
[RechID] [Artkelnr]— [Preis]--------[Rechndatum]
1---------A001---------5€------------12.01.2010
1---------A002---------10€-----------12.01.2010

2---------A001---------50€-----------24.12.2011
2---------A002---------100€----------24.12.2011

3---------A001---------60€-----------05.12.2012
3---------A002---------99€-----------05.12.2012

Tabelle Stammdaten:
[ID] [Artkelnr]--------[Preis]--------[Preis Stand]
1---------A001---------5€------------01.01.2010
2---------A002---------10€-----------01.01.2010

3---------A001---------50€-----------01.01.2011
4---------A002---------100€----------01.01.2011

5---------A001---------60€-----------01.01.2012
6---------A002---------99€-----------01.01.2012

Hoffe das geht so als Tabellen Beispiel

Also raushaben möchte ich den passenden Preis für den Rechnungszeitraum

Überlegt hatte ich mir schon folgendes:

SELECT [Preis] From [Tabelle Stammdaten] WHERE "[Rechdatum] >= [Preis Stand] und WHERE [Rechdatum]

und was sollte wofür herauskommen?

Entschuldigung war vielleicht nicht ganz deutlich.

In der Tabelle Rechnung steht eigentlich der Preis nicht drin, der soll per Abfrage für die Rechnung passend zum Rechnungsdatum und dazugehörigen Preis aus Tabelle Stammdaten entnommen werden. Der Preis in Tabelle Rechnung, ist also ein Pointer auf das entsprechende Feld in Tabelle Stammdaten.

Preis am Rechnungsdatum bezieht sich auf ein Zeit intervall in Tabelle Stammdaten.

vielleicht können wor per mail weitermachen.
Stammdaten enthält eine Zeitreihe von Preisen
20121230 33
20121231 35
20130106 40
20130112 57

Frage Welcher Preis soll für Rechnung vom 20130105
verwendet werden?

Hab ich das richtig verstanden
mailto [email protected]

Hi,
sorry, aber kann dir aus Zeitgründen leider nicht aushelfen.

Hallo annomad,
das hängt auch etwas von den SQL-Dialekt ab, den du verwendest. Ich arbeite derzeit in PostgreSQL, da würde ich eine SELECT schreiben, der die Liste ausgibt und darunter ein

ORDER BY „Preisänderungs Datum“
LIMIT 1

setzte.

Viele Grüße
Andreas