Hallo,
ich habe zwei Tabellen. In der einen sind Produkte abgelegt, in der anderen
Preis zu den Produkten. Dabei ist es so, dass sich in der Preistabelle zu
jedem Produkt der aktuelle und die alten Preise befinden.
Gesucht: Der aktuelle Preis der Produkte. Also:
Mein erster Ansatz:
SELECT P.produktID , P.produkt, PR.preis , MAX(PR.datum)
FROM preis_produkt P , preis_preise PR
WHERE PR.produktID = P.produktID
GROUP BY P.ID
ORDER BY P.produkt
Leider liefert das aktuellste Datum und irgendeinen Preis, aber nicht zwingend den der zum Datum gehört.
Es sind meine ersten Geversuche mit Subqueries - ich tue mich etwas schwer und würde mich über gute Ratschläge freuen.
Gruß
Matthias
ich habe zwei Tabellen. In der einen sind Produkte abgelegt, in der anderen
Preis zu den Produkten. Dabei ist es so, dass sich in der Preistabelle zu
jedem Produkt der aktuelle und die alten Preise befinden.
produktID | produkt
----------+---------+
1 | Milch
2 | Kaffee
ID | preis | produktID | datum
---------+-------+------------+----------
1 | 0.55 | 1 | 2007-06-11
2 | 0.66 | 1 | 2007-09-04
3 | 3.29 | 2 | 2007-07-28
4 | 2.99 | 2 | 2007-09-26
----------+---------+
1 | Milch
2 | Kaffee
ID | preis | produktID | datum
---------+-------+------------+----------
1 | 0.55 | 1 | 2007-06-11
2 | 0.66 | 1 | 2007-09-04
3 | 3.29 | 2 | 2007-07-28
4 | 2.99 | 2 | 2007-09-26
produktID | produkt | preis | datum
----------+---------+-------+-------------
1 | Milch | 0.66 | 2007-09-04
2 | Kaffee | 2.99 | 2007-09-26
----------+---------+-------+-------------
1 | Milch | 0.66 | 2007-09-04
2 | Kaffee | 2.99 | 2007-09-26
SELECT P.produktID , P.produkt, PR.preis , MAX(PR.datum)
FROM preis_produkt P , preis_preise PR
WHERE PR.produktID = P.produktID
GROUP BY P.ID
ORDER BY P.produkt
Leider liefert das aktuellste Datum und irgendeinen Preis, aber nicht zwingend den der zum Datum gehört.
Es sind meine ersten Geversuche mit Subqueries - ich tue mich etwas schwer und würde mich über gute Ratschläge freuen.
Gruß
Matthias
Comment