nico23 Geschrieben 25. Februar 2011 Teilen Geschrieben 25. Februar 2011 Hallo, ich habe eine table die neben einer Artikelnummer auch einen Preis mit einem Start und Enddatum enthält. Sieht also in etwa so aus: Artikelnummer Preis Startdatum Enddatum 1234 12,50 01.01.2011 10.02.2011 1234 11,90 11.02.2011 2345 23,09 30.11.2010 Wenn unter Enddatum nichts steht ist der Preis heute noch gültig. Ich benötige nun eine Abfrage, die mir für einen Zeitraum der letzten zum Beispiel 30 Tage folgendes liefert: Artikelnummer Preis Datum 1234 12,50 25.01.2011 1234 12,50 26.01.2011 1234 12,50 27.01.2011 .... 1234 11,90 11.02.2011 2345 ...... Also für jeden Tag eine Zeile mit entsprechendem Preis. Ich verwende Oracle SQL und werde diese Abfrage mehrmals im Monat laufen lassen und verschiedene Zeiträume wählen müssen, mal die letzten 30 Tage, mal 20 Tage etc. Leider habe ich noch nicht einmal ansatzweise eine Idee wie ich das ohne komplizierte Pivotisierung erreichen kann. Danke, Nico Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stefan87 Geschrieben 4. März 2011 Teilen Geschrieben 4. März 2011 Hey, also ich glaube so müsste es ca. gehen, zumindest vom Ansatz her ADATE und EDATE sind der Anfang und ende von deinen 30 Tagen SELECT * FROM TABLE WHERE STARTDATAUM > ADATE AND STARTDATUM < EDATE AND ENDDATUM IS NULL UNION SELECT * FROM TABLE WHERE STARTDATUM > ADATE AND ENDDATUM < EDATE AND ENDDATUM IS NOT NULL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.