Einzelnen Beitrag anzeigen
Alt 09.10.2017, 15:03   #1
hcscherzer
MOF Guru
MOF Guru
Standard Daten verdichten

Ich habe eine Tabelle mit etwa 25.000 Datensätzen.
Es ist eine m:n Tabelle mit Bestelldetails.
In der sind u.a. die Artikel-Nummer und der tatsächliche Verkaufspreis gespeichert. In der übergeordneten Tabelle mit den Bestellungen findet sich das Bestelldatum.

Mit dieser Abfrage kann ich mir die nach Artikeln und chronologisch auflisten:
Code:

select op.p_id,
 if(op.discount is null, op.price, op.price * 100 / (100-op.discount)) vk_preis,
 o.date_purchased
from orders_products op
inner join orders o on op.o_id = o.o_id
order by op.p_id, o.date_purchased
Jetzt hätte ich gern eine Liste mit den unterschiedlichen Preisen pro Artikel und dem jeweiligen frühesten Datum dazu.
Code:

select op.p_id, if(op.discount is null, op.price, op.price * 100 / (100-op.discount)) vk_preis,
min(o.date_purchased) ab_wann
from orders_products op
inner join orders o on op.o_id = o.o_id
group by op.p_id, vk_preis
So weit auch kein Problem.

Jetzt ist es aber so, dass die Preise sich manchmal so ändern, dass ein Artikel den Preis, den er schon mal hatte, nach einer zwischenzeitlichen Änderung erneut angenommen hatte (hier das Ergebnis der ersten Abfrage für Artikel 59):
Code:

59	7.4200	2015-10-19 18:45:18
59	7.4200	2015-11-09 21:55:20
59	9.0833	2015-11-12 13:19:27
59	7.4200	2015-11-27 12:21:31
59	7.4200	2015-12-17 14:36:49
59	9.0833	2016-06-01 21:15:07
59	7.4200	2016-12-14 16:48:17
Die zweite Abfrage macht mir daraus
Code:

59	7.4200	2015-10-19 18:45:18
59	9.0833	2015-11-12 13:19:27
Ich hätte aber gerne
Code:

59	7.4200	2015-10-19 18:45:18
59	9.0833	2015-11-12 13:19:27
59	7.4200	2015-11-27 12:21:31
59	9.0833	2016-06-01 21:15:07
59	7.4200	2016-12-14 16:48:17
Ich komm grad nicht drauf, wie ich das - möglichst mit einem SQL Statement - hinbekommen kann.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten